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:
-rw-r--r--plugins/CoreHome/angularjs/common/services/piwik-api.js6
-rw-r--r--plugins/CoreHome/angularjs/widget-loader/widgetloader.directive.js4
-rw-r--r--plugins/Morpheus/javascripts/ajaxHelper.js6
-rw-r--r--tests/UI/expected-screenshots/Dashboard_invalid_token_auth.png3
-rw-r--r--tests/UI/expected-screenshots/Dashboard_loaded_token_auth.png3
-rw-r--r--tests/UI/specs/Dashboard_spec.js20
6 files changed, 40 insertions, 2 deletions
diff --git a/plugins/CoreHome/angularjs/common/services/piwik-api.js b/plugins/CoreHome/angularjs/common/services/piwik-api.js
index ab546a7693..67f9756f4f 100644
--- a/plugins/CoreHome/angularjs/common/services/piwik-api.js
+++ b/plugins/CoreHome/angularjs/common/services/piwik-api.js
@@ -47,6 +47,10 @@ var hasBlockedContent = false;
return getParams && getParams['module'] === 'API' && getParams['method'];
}
+ function isWidgetizedRequest() {
+ return (broadcast.getValueFromUrl('module') == 'Widgetize');
+ }
+
function reset () {
getParams = {};
postParams = {};
@@ -176,7 +180,7 @@ var hasBlockedContent = false;
* @private
*/
function getPostParams (params) {
- if (isRequestToApiMethod()) {
+ if (isRequestToApiMethod() || isWidgetizedRequest()) {
params.token_auth = piwik.token_auth;
}
diff --git a/plugins/CoreHome/angularjs/widget-loader/widgetloader.directive.js b/plugins/CoreHome/angularjs/widget-loader/widgetloader.directive.js
index 0115b73715..f3d5317b7b 100644
--- a/plugins/CoreHome/angularjs/widget-loader/widgetloader.directive.js
+++ b/plugins/CoreHome/angularjs/widget-loader/widgetloader.directive.js
@@ -96,6 +96,10 @@
url += '&showtitle=1';
}
+ if (broadcast.getValueFromUrl('module') == 'Widgetize' && broadcast.getValueFromUrl('token_auth')) {
+ url += '&token_auth=' + broadcast.getValueFromUrl('token_auth');
+ }
+
url += '&random=' + parseInt(Math.random() * 10000);
return '?' + url;
diff --git a/plugins/Morpheus/javascripts/ajaxHelper.js b/plugins/Morpheus/javascripts/ajaxHelper.js
index 4cc1ac823e..e93c7a82e7 100644
--- a/plugins/Morpheus/javascripts/ajaxHelper.js
+++ b/plugins/Morpheus/javascripts/ajaxHelper.js
@@ -481,8 +481,12 @@ function ajaxHelper() {
(this.postParams && this.postParams['module'] === 'API' && this.postParams['method']);
};
+ this._isWidgetizedRequest = function () {
+ return (broadcast.getValueFromUrl('module') == 'Widgetize');
+ };
+
this._getDefaultPostParams = function () {
- if (this.withToken || this._isRequestToApiMethod()) {
+ if (this.withToken || this._isRequestToApiMethod() || this._isWidgetizedRequest()) {
return {
token_auth: piwik.token_auth
};
diff --git a/tests/UI/expected-screenshots/Dashboard_invalid_token_auth.png b/tests/UI/expected-screenshots/Dashboard_invalid_token_auth.png
new file mode 100644
index 0000000000..065744e5ba
--- /dev/null
+++ b/tests/UI/expected-screenshots/Dashboard_invalid_token_auth.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9e8135200b8d1c3efb7f298e770f053970918284b9fc9cdc2196bd4f199a77f9
+size 33186
diff --git a/tests/UI/expected-screenshots/Dashboard_loaded_token_auth.png b/tests/UI/expected-screenshots/Dashboard_loaded_token_auth.png
new file mode 100644
index 0000000000..6a923dff35
--- /dev/null
+++ b/tests/UI/expected-screenshots/Dashboard_loaded_token_auth.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ad27d14793efb8735da99c610041c7ad27df565ac18a8e993b4cf74bb0e40a40
+size 534693
diff --git a/tests/UI/specs/Dashboard_spec.js b/tests/UI/specs/Dashboard_spec.js
index 0c4f28f080..f647bdab68 100644
--- a/tests/UI/specs/Dashboard_spec.js
+++ b/tests/UI/specs/Dashboard_spec.js
@@ -223,4 +223,24 @@ describe("Dashboard", function () {
}, done);
});
+ it("should load correctly with token_auth", function (done) {
+ testEnvironment.testUseMockAuth = 0;
+ testEnvironment.save();
+
+ expect.screenshot("loaded_token_auth").to.be.capture(function (page) {
+ var tokenAuth = "9ad1de7f8b329ab919d854c556f860c1";
+ page.load(url.replace("idDashboard=5", "idDashboard=1") + '&token_auth=' + tokenAuth, 5000);
+ }, done);
+ });
+
+ it("should fail to load with invalid token_auth", function (done) {
+ testEnvironment.testUseMockAuth = 0;
+ testEnvironment.save();
+
+ expect.screenshot("invalid_token_auth").to.be.capture(function (page) {
+ var tokenAuth = "anyInvalidToken";
+ page.load(url.replace("idDashboard=5", "idDashboard=1") + '&token_auth=' + tokenAuth, 5000);
+ }, done);
+ });
+
});