luci-mod-system: check if it's possible to force sysupgrade
authorRafał Miłecki <rafal@milecki.pl>
Wed, 25 Sep 2019 14:51:38 +0000 (16:51 +0200)
committerJo-Philipp Wich <jo@mein.io>
Wed, 2 Oct 2019 07:47:20 +0000 (09:47 +0200)
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>
modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js

index 49bbf238848f7900654d13eedc965c51c513a2c9..a1fcf7cbee8c38e354fe8a5ba1ac97783e63c0b2 100644 (file)
@@ -363,6 +363,7 @@ return L.view.extend({
                                var keep = document.querySelector('[data-name="keep"] input[type="checkbox"]'),
                                    force = E('input', { type: 'checkbox' }),
                                    is_valid = res[1].valid,
+                                   is_forceable = res[1].forceable,
                                    is_too_big = (storage_size > 0 && res[0].size > storage_size),
                                    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.')
                                        ]));
 
-                               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' }, [
                                                force, ' ', _('Force upgrade'),
                                                E('br'), E('br'),