summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@qt.io>2019-08-01 15:16:02 +0200
committerFrederik Gladhorn <frederik.gladhorn@qt.io>2019-08-05 07:29:05 +0000
commite672dcf46186ce2f2f68900140f845011f3637a8 (patch)
treeeca0ec8bf5bef6e46ab4b1a55afdf984379972ae
parente599c08e5dcd602ffa403f89218d6d0ce695819a (diff)
Fix email token routing
page.js changes all '+' signs to spaces, which breaks the email verification confirmation tokens. This change was accepted upstream in the 2.16 branch, whenever we rebase, we can just drop this. In the meantime let's deploy with this patch. Bug: Issue 10062 Fixes: QTQAINFRA-3080 Change-Id: I006c29ffd36b95c7e2605b968a75c5fa7dc34c87 (cherry picked from commit 7fa8f2c5a5fd64c20d31b04ef111255f6a79c1e2) Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
-rw-r--r--polygerrit-ui/app/elements/core/gr-router/gr-router.js6
-rw-r--r--polygerrit-ui/app/elements/core/gr-router/gr-router_test.html8
2 files changed, 13 insertions, 1 deletions
diff --git a/polygerrit-ui/app/elements/core/gr-router/gr-router.js b/polygerrit-ui/app/elements/core/gr-router/gr-router.js
index c590bccce1..b3edfb208b 100644
--- a/polygerrit-ui/app/elements/core/gr-router/gr-router.js
+++ b/polygerrit-ui/app/elements/core/gr-router/gr-router.js
@@ -1385,9 +1385,13 @@
},
_handleSettingsLegacyRoute(data) {
+ // email tokens may contain '+' but no space.
+ // The parameter parsing replaces all '+' with a space,
+ // undo that to have valid tokens.
+ const token = data.params[0].replace(/ /g, '+');
this._setParams({
view: Gerrit.Nav.View.SETTINGS,
- emailToken: data.params[0],
+ emailToken: token,
});
},
diff --git a/polygerrit-ui/app/elements/core/gr-router/gr-router_test.html b/polygerrit-ui/app/elements/core/gr-router/gr-router_test.html
index 7a92402d16..e2a25e4a7d 100644
--- a/polygerrit-ui/app/elements/core/gr-router/gr-router_test.html
+++ b/polygerrit-ui/app/elements/core/gr-router/gr-router_test.html
@@ -664,6 +664,14 @@ limitations under the License.
});
});
+ test('_handleSettingsLegacyRoute with +', () => {
+ const data = {params: {0: 'my-token test'}};
+ assertDataToParams(data, '_handleSettingsLegacyRoute', {
+ view: Gerrit.Nav.View.SETTINGS,
+ emailToken: 'my-token+test',
+ });
+ });
+
test('_handleSettingsRoute', () => {
const data = {};
assertDataToParams(data, '_handleSettingsRoute', {