diff --git a/modules/luci-mod-system/htdocs/luci-static/resources/view/system/crontab.js b/modules/luci-mod-system/htdocs/luci-static/resources/view/system/crontab.js index 939d41b0ec..079921a520 100644 --- a/modules/luci-mod-system/htdocs/luci-static/resources/view/system/crontab.js +++ b/modules/luci-mod-system/htdocs/luci-static/resources/view/system/crontab.js @@ -16,6 +16,8 @@ return view.extend({ return fs.write('/etc/crontabs/root', value).then(function(rc) { document.querySelector('textarea').value = value; ui.addNotification(null, E('p', _('Contents have been saved.')), 'info'); + + return fs.exec('/etc/init.d/cron', [ 'reload' ]); }).catch(function(e) { ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message))); }); @@ -24,9 +26,7 @@ return view.extend({ render: function(crontab) { return E([ E('h2', _('Scheduled Tasks')), - E('p', { 'class': 'cbi-section-descr' }, - _('This is the system crontab in which scheduled tasks can be defined.') + - _('
Note: you need to manually restart the cron service if the crontab file was empty before editing.')), + E('p', { 'class': 'cbi-section-descr' }, _('This is the system crontab in which scheduled tasks can be defined.')), E('p', {}, E('textarea', { 'style': 'width:100%', 'rows': 10, 'disabled': isReadonlyView }, [ crontab != null ? crontab : '' ])) ]); }, diff --git a/modules/luci-mod-system/root/usr/share/rpcd/acl.d/luci-mod-system.json b/modules/luci-mod-system/root/usr/share/rpcd/acl.d/luci-mod-system.json index 38ff98dee6..c5f801a264 100644 --- a/modules/luci-mod-system/root/usr/share/rpcd/acl.d/luci-mod-system.json +++ b/modules/luci-mod-system/root/usr/share/rpcd/acl.d/luci-mod-system.json @@ -72,7 +72,8 @@ }, "write": { "file": { - "/etc/crontabs/root": [ "write" ] + "/etc/crontabs/root": [ "write" ], + "/etc/init.d/cron reload": [ "exec" ] }, "ubus": { "file": [ "write" ]