summaryrefslogtreecommitdiffstats
path: root/applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/plugins/email.js
blob: 3d260ede37a275fbea22eea1a8cf01ff918d2e35 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
'use strict';
'require baseclass';
'require form';
'require tools.widgets as widgets';

return baseclass.extend({
	title: _('E-Mail Plugin Configuration'),
	description: _('The email plugin creates a unix socket which can be used to transmit email-statistics to a running collectd daemon. This plugin is primarily intended to be used in conjunction with Mail::SpamAssasin::Plugin::Collectd but can be used in other ways as well.'),

	addFormOptions(s) {
		let o;

		o = s.option(form.Flag, 'enable', _('Enable this plugin'));

		o = s.option(form.Value, 'SocketFile', _('Socket file'));
		o.default = '/var/run/collectd/email.sock';
		o.depends('enable', '1');

		o = s.option(widgets.GroupSelect, 'SocketGroup', _('Socket group'));
		o.default = 'nogroup';
		o.optional = true;
		o.depends('enable', '1');

		o = s.option(form.Value, 'SocketPerms', _('Socket permissions'));
		o.default = '0770';
		o.optional = true;
		o.depends('enable', '1');
		o.validate = function(section_id, v) {
			if (v == '')
				return true;

			if (!v.match(/^[0-7]{1,4}$/))
				return _('Expecting permssions in octal notation');

			return true;
		};

		o = s.option(form.Value, 'MaxConns', _('Maximum allowed connections'));
		o.datatype = 'range(1,16384)';
		o.default = '5';
		o.optional = true;
		o.depends('enable', '1');
	},

	configSummary(section) {
		if (section.SocketFile)
			return _('Awaiting email input at %s').format(section.SocketFile);
	}
});