luci-mod-network: do not remove enable_vlan from config
authorMichael Pratt <[email protected]>
Wed, 21 Apr 2021 22:03:58 +0000 (18:03 -0400)
committerMichael Pratt <[email protected]>
Wed, 21 Apr 2021 22:12:43 +0000 (18:12 -0400)
There are many switch drivers where VLAN functionality is enabled by default.
In this situation, LuCI cannot be used to disable VLAN functionality,
because removing the line from configuration results in VLAN remaining enabled
by the driver.

When enable_vlan is set to 0 by default
by using functions in board.d,
and an unrelated change is made on the Switch webpage,
then the enable_vlan option gets deleted when changes are saved.

Therefore, the option needs to be preserved, whether set to 0 or 1.

Signed-off-by: Michael Pratt <[email protected]>
modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js

index 3133d27250bae37c31b6e2082cded283cbc32f18..8c24775cabe957efa0deafd401503076c6184b31 100644 (file)
@@ -180,8 +180,10 @@ return view.extend({
                        s = m.section(form.NamedSection, sid, 'switch', switch_title);
                        s.addremove = false;
 
-                       if (feat.vlan_option)
-                               s.option(form.Flag, feat.vlan_option, _('Enable VLAN functionality'));
+                       if (feat.vlan_option) {
+                               o = s.option(form.Flag, feat.vlan_option, _('Enable VLAN functionality'));
+                               o.rmempty = false;
+                       }
 
                        if (feat.learning_option) {
                                o = s.option(form.Flag, feat.learning_option, _('Enable learning and aging'));