diff --git a/polygerrit-ui/app/elements/change/gr-download-dialog/gr-download-dialog.js b/polygerrit-ui/app/elements/change/gr-download-dialog/gr-download-dialog.js index b26802ddc6..a89480ad80 100644 --- a/polygerrit-ui/app/elements/change/gr-download-dialog/gr-download-dialog.js +++ b/polygerrit-ui/app/elements/change/gr-download-dialog/gr-download-dialog.js @@ -79,7 +79,7 @@ _computeDownloadCommands(change, patchNum, _selectedScheme) { let commandObj; for (const rev in change.revisions) { - if (change.revisions[rev]._number === patchNum && + if (change.revisions[rev]._number === parseInt(patchNum, 10) && change.revisions[rev].fetch.hasOwnProperty(_selectedScheme)) { commandObj = change.revisions[rev].fetch[_selectedScheme].commands; break; @@ -112,7 +112,7 @@ _computeDownloadFilename(change, patchNum, zip) { let shortRev; for (const rev in change.revisions) { - if (change.revisions[rev]._number === patchNum) { + if (change.revisions[rev]._number === parseInt(patchNum, 10)) { shortRev = rev.substr(0, 7); break; } @@ -126,9 +126,9 @@ }, _computeSchemes(change, patchNum) { - for (const rev in change.revisions) { - if (change.revisions[rev]._number === patchNum) { - const fetch = change.revisions[rev].fetch; + for (const rev of Object.values(change.revisions || {})) { + if (rev._number === parseInt(patchNum, 10)) { + const fetch = rev.fetch; if (fetch) { return Object.keys(fetch).sort(); } diff --git a/polygerrit-ui/app/elements/change/gr-download-dialog/gr-download-dialog_test.html b/polygerrit-ui/app/elements/change/gr-download-dialog/gr-download-dialog_test.html index 4a8d2d9298..63d45c62aa 100644 --- a/polygerrit-ui/app/elements/change/gr-download-dialog/gr-download-dialog_test.html +++ b/polygerrit-ui/app/elements/change/gr-download-dialog/gr-download-dialog_test.html @@ -117,7 +117,7 @@ limitations under the License. setup(() => { element = fixture('basic'); element.change = getChangeObjectNoFetch(); - element.patchNum = 1; + element.patchNum = '1'; element.config = { schemes: { 'anonymous http': {}, @@ -144,7 +144,7 @@ limitations under the License. setup(() => { element = fixture('basic'); element.change = getChangeObject(); - element.patchNum = 1; + element.patchNum = '1'; element.config = { schemes: { 'anonymous http': {}, @@ -242,7 +242,7 @@ limitations under the License. element = fixture('loggedIn'); element.change = getChangeObject(); - element.patchNum = 1; + element.patchNum = '1'; element.config = { schemes: { 'anonymous http': {}, @@ -285,7 +285,7 @@ limitations under the License. }); element = fixture('loggedIn'); element.change = getChangeObject(); - element.patchNum = 1; + element.patchNum = '1'; element.config = { schemes: {'anonymous http': {}, 'http': {}, 'repo': {}, 'ssh': {}}, archives: ['tgz', 'tar', 'tbz2', 'txz'],