'require uci';
'require rpc';
'require form';
+'require tools.widgets as widgets';
-var callInitList, callInitAction, callTimezone,
+var callRcList, callRcInit, callTimezone,
callGetLocaltime, callSetLocaltime, CBILocalTime;
-callInitList = rpc.declare({
- object: 'luci',
- method: 'getInitList',
+callRcList = rpc.declare({
+ object: 'rc',
+ method: 'list',
params: [ 'name' ],
expect: { '': {} },
filter: function(res) {
}
});
-callInitAction = rpc.declare({
- object: 'luci',
- method: 'setInitAction',
+callRcInit = rpc.declare({
+ object: 'rc',
+ method: 'init',
params: [ 'name', 'action' ],
expect: { result: false }
});
this.ntpd_support ? E('button', {
'class': 'cbi-button cbi-button-apply',
'click': ui.createHandlerFn(this, function() {
- return callInitAction('sysntpd', 'restart');
+ return callRcInit('sysntpd', 'restart');
}),
'disabled': (this.readonly != null) ? this.readonly : this.map.readonly
}, _('Sync with NTP-Server')) : ''
return view.extend({
load: function() {
return Promise.all([
- callInitList('sysntpd'),
+ callRcList('sysntpd'),
callTimezone(),
callGetLocaltime(),
uci.load('luci'),
o.ucioption = 'lang';
o.value('auto');
- var k = Object.keys(uci.get('luci', 'languages') || {}).sort();
+ var l = Object.assign({ en: 'English' }, uci.get('luci', 'languages')),
+ k = Object.keys(l).sort();
for (var i = 0; i < k.length; i++)
if (k[i].charAt(0) != '.')
- o.value(k[i], uci.get('luci', 'languages', k[i]));
+ o.value(k[i], l[k[i]]);
o = s.taboption('language', form.ListValue, '_mediaurlbase', _('Design'))
o.uciconfig = 'luci';
else
uci.unset('system', 'ntp', 'enabled');
- return callInitAction('sysntpd', 'enable');
+ return callRcInit('sysntpd', 'enable');
};
o.load = function(section_id) {
return (ntpd_enabled == 1 &&
o.ucisection = 'ntp';
o.depends('enabled', '1');
+ o = s.taboption('timesync', widgets.NetworkSelect, 'interface',
+ _('Bind NTP server'),
+ _('Provide the NTP server to the selected interface or, if unspecified, to all interfaces'));
+ o.ucisection = 'ntp';
+ o.depends('enable_server', '1');
+ o.multiple = false;
+ o.nocreate = true;
+ o.optional = true;
+
o = s.taboption('timesync', form.Flag, 'use_dhcp', _('Use DHCP advertised servers'));
o.ucisection = 'ntp';
o.default = o.enabled;
o.depends('enabled', '1');
- o = s.taboption('timesync', form.DynamicList, 'server', _('NTP server candidates'));
+ o = s.taboption('timesync', form.DynamicList, 'server', _('NTP server candidates'),
+ _('List of upstream NTP server candidates with which to synchronize.'));
o.datatype = 'host(0)';
o.ucisection = 'ntp';
o.depends('enabled', '1');