luci-app-ksmbd: add UI for multiple interfaces
/etc/config/ksmbd supports multiple interfaces (in config globals-> option interface) but the current UI only supports selecting a single one. This patch adds support for selecting multiple interfaces, based on how luci-app-samba4 does it. Closes: #6620 Suggested-by: @AndroKev Signed-off-by: Rani Hod <rani.hod@gmail.com>
This commit is contained in:
parent
88d1893b9c
commit
55643d2075
1 changed files with 14 additions and 1 deletions
|
@ -2,6 +2,7 @@
|
|||
'require view';
|
||||
'require fs';
|
||||
'require form';
|
||||
'require uci';
|
||||
'require tools.widgets as widgets';
|
||||
|
||||
return view.extend({
|
||||
|
@ -32,8 +33,20 @@ return view.extend({
|
|||
s.tab('general', _('General Settings'));
|
||||
s.tab('template', _('Edit Template'), _('Edit the template that is used for generating the ksmbd configuration.'));
|
||||
|
||||
s.taboption('general', widgets.NetworkSelect, 'interface', _('Interface'),
|
||||
o = s.taboption('general', widgets.NetworkSelect, 'interface', _('Interface'),
|
||||
_('Listen only on the given interface or, if unspecified, on lan'));
|
||||
o.multiple = true;
|
||||
o.cfgvalue = (section_id => L.toArray(uci.get('ksmbd', section_id, 'interface')));
|
||||
o.write = function(section_id, formvalue) {
|
||||
var cfgvalue = this.cfgvalue(section_id),
|
||||
oldNetworks = L.toArray(cfgvalue),
|
||||
newNetworks = L.toArray(formvalue);
|
||||
oldNetworks.sort();
|
||||
newNetworks.sort();
|
||||
if (oldNetworks.join(' ') == newNetworks.join(' '))
|
||||
return;
|
||||
return uci.set('ksmbd', section_id, 'interface', newNetworks.join(' '));
|
||||
};
|
||||
|
||||
o = s.taboption('general', form.Value, 'workgroup', _('Workgroup'));
|
||||
o.placeholder = 'WORKGROUP';
|
||||
|
|
Loading…
Reference in a new issue