diff --git a/src/opnsense/mvc/app/views/OPNsense/Core/firmware.volt b/src/opnsense/mvc/app/views/OPNsense/Core/firmware.volt index 05e44e42f..c2b540841 100644 --- a/src/opnsense/mvc/app/views/OPNsense/Core/firmware.volt +++ b/src/opnsense/mvc/app/views/OPNsense/Core/firmware.volt @@ -45,6 +45,8 @@ function updateStatus() { // update UI updateStatusPrepare(false); + $('#major-upgrade').hide(); + $('#upgrade_maj').prop('disabled', true); // request status ajaxGet('/api/core/firmware/status',{},function(data,status){ @@ -99,6 +101,14 @@ // update list so plugins sync as well (all) packagesInfo(true); } + + $.upgrade_major_message = data['upgrade_major_message']; + $.upgrade_major_version = data['upgrade_major_version']; + + if ($.upgrade_major_version != "") { + $('#upgrade-version').text($.upgrade_major_version); + $('#major-upgrade').show(); + } }); } @@ -302,7 +312,6 @@ $("#upgrade_progress").removeClass("fa fa-spinner fa-pulse"); $("#audit_progress").removeClass("fa fa-spinner fa-pulse"); $("#audit_progress").addClass("caret"); - $("#upgrade_maj").attr("style","display:none"); $("#upgrade").attr("style","display:none"); $("#audit_all").attr("style",""); if ($.upgrade_action == 'pkg') { @@ -355,7 +364,7 @@ var local_count = 0; var plugin_count = 0; var changelog_count = 0; - var changelog_max = 12; + var changelog_max = 15; if ($.changelog_keep_full != undefined) { changelog_max = 9999; } @@ -538,33 +547,32 @@ upgrade_ui(); }); $('#checkupdate_maj').click(function () { - $("#checkupdate_progress_maj").addClass("fa fa-spinner fa-pulse"); - // empty call refreshes changelogs in the background - ajaxCall('/api/core/firmware/changelog/update', {}, function () { - $("#checkupdate_progress_maj").removeClass("fa fa-spinner fa-pulse"); + if ($.upgrade_major_message == "") { + $('#upgrade_maj').prop('disabled', false); + changelog($.upgrade_major_version); + } else { BootstrapDialog.show({ type:BootstrapDialog.TYPE_WARNING, title: "{{ lang._('Upgrade instructions') }}", - message: $('#firmware-message').html(), + /* we trust this data, it was signed by us and secured by csrf */ + message: htmlDecode($.upgrade_major_message), buttons: [{ - - label: "{{ lang._('Unlock upgrade') }}", + label: "{{ lang._('Unlock') }}", cssClass: 'btn-warning', action: function (dialogRef) { dialogRef.close(); - $("#upgrade_maj").attr("style",""); - changelog($('#firmware-upgrade').text()); + $('#upgrade_maj').prop('disabled', false); + changelog($.upgrade_major_version); } },{ - - label: "{{ lang._('Close') }}", + label: "{{ lang._('Cancel') }}", action: function (dialogRef) { dialogRef.close(); } }] }); packagesInfo(true); - }); + } }); // populate package information @@ -706,16 +714,7 @@