luci-mod-system: check if it's possible to force sysupgrade

Some validation errors may be critical enough to prevent sysupgrade.
Check the "forceable" property and disallow forcing sysupgrade if
applicable. It would fail anyway at the "sysupgrade" call.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
This commit is contained in:
Rafał Miłecki 2019-09-25 16:51:38 +02:00 committed by Jo-Philipp Wich
parent 7c108683c6
commit 5f2a17938f

View file

@ -363,6 +363,7 @@ return L.view.extend({
var keep = document.querySelector('[data-name="keep"] input[type="checkbox"]'), var keep = document.querySelector('[data-name="keep"] input[type="checkbox"]'),
force = E('input', { type: 'checkbox' }), force = E('input', { type: 'checkbox' }),
is_valid = res[1].valid, is_valid = res[1].valid,
is_forceable = res[1].forceable,
is_too_big = (storage_size > 0 && res[0].size > storage_size), is_too_big = (storage_size > 0 && res[0].size > storage_size),
body = []; body = [];
@ -390,7 +391,7 @@ return L.view.extend({
_('The uploaded image file does not contain a supported format. Make sure that you choose the generic image format for your platform.') _('The uploaded image file does not contain a supported format. Make sure that you choose the generic image format for your platform.')
])); ]));
if (!is_valid || is_too_big) if ((!is_valid || is_too_big) && is_forceable)
body.push(E('p', {}, E('label', { 'class': 'btn alert-message danger' }, [ body.push(E('p', {}, E('label', { 'class': 'btn alert-message danger' }, [
force, ' ', _('Force upgrade'), force, ' ', _('Force upgrade'),
E('br'), E('br'), E('br'), E('br'),