pgupgrade.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. function versionHandler () {
  2. 'use strict';
  3. let obj = JSON.parse(this.responseText);
  4. if(obj.result === 1) {
  5. // Construct version warning/display
  6. let pgVersion = obj.data.installed_version.major + '.' + obj.data.installed_version.minor;
  7. let elem = document.getElementById('psqlVersion');
  8. let html = `<strong>${pgVersion}</strong>`;
  9. if( parseFloat(pgVersion) < parseFloat(obj.data.minimum_supported_version) ) {
  10. elem.classList.add('callout', 'callout-danger');
  11. html += " -- You are using a version of PostgreSQL Server that is no longer supported! Immediate upgrade reccomended.";
  12. }
  13. elem.innerHTML = html;
  14. // Now let's build the table
  15. let rows = '';
  16. for ( var version of Object.keys(obj.data.available_versions).sort(function(a,b) { return parseFloat(b) - parseFloat(a) }) ) {
  17. rows +=
  18. `<tr id="pgVersionRow-${version}">
  19. <td>
  20. <input type="radio" name="selectedVersion" value="${version}" onclick="document.getElementById('submit').disabled = false;"></input>
  21. ${version}
  22. </td>
  23. <td><ul>`;
  24. obj.data.available_versions[version].features.forEach(function(feature) {
  25. rows += `<li>${feature}</li>`;
  26. });
  27. rows += `</ul></td>
  28. <td>
  29. ${new Date(obj.data.available_versions[version].release * 1000).toLocaleString(undefined, { year: 'numeric', month: 'long', day: 'numeric' })}
  30. </td>
  31. <td>
  32. ${new Date(obj.data.available_versions[version].EOL * 1000).toLocaleString(undefined, { year: 'numeric', month: 'long', day: 'numeric' })}
  33. </td>
  34. </tr>`;
  35. }
  36. document.querySelector('#upgradeForm > table > tbody').innerHTML = rows;
  37. } else {
  38. console.log(obj.error);
  39. }
  40. }
  41. document.getElementById('submit').disabled = true;
  42. var oReq = new XMLHttpRequest();
  43. oReq.addEventListener("load", versionHandler);
  44. oReq.open("GET", "api.cgi?module=Postgres&function=get_postgresql_versions");
  45. oReq.send();