diff options
author | Frederik Gladhorn <frederik.gladhorn@qt.io> | 2019-08-01 15:16:02 +0200 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@qt.io> | 2019-08-05 07:29:05 +0000 |
commit | e672dcf46186ce2f2f68900140f845011f3637a8 (patch) | |
tree | eca0ec8bf5bef6e46ab4b1a55afdf984379972ae | |
parent | e599c08e5dcd602ffa403f89218d6d0ce695819a (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.js | 6 | ||||
-rw-r--r-- | polygerrit-ui/app/elements/core/gr-router/gr-router_test.html | 8 |
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', { |