Merge branch 'awerner-monit_deps'

This commit is contained in:
Ad Schellevis 2019-01-16 10:32:16 +01:00
commit e6170c16a0
4 changed files with 26 additions and 0 deletions

View File

@ -72,6 +72,12 @@
<type>select_multiple</type>
<help><![CDATA[This is a list with service tests.]]></help>
</field>
<field>
<id>monit.service.depends</id>
<label>Depends</label>
<type>select_multiple</type>
<help><![CDATA[Optionally define a (list of) service(s) which are required before monitoring this one, if any of the dependencies are either stopped or unmonitored this service will stop/unmonitor too.]]></help>
</field>
<field>
<id>monit.service.description</id>
<label>Description</label>

View File

@ -256,6 +256,18 @@
<multiple>Y</multiple>
<Required>N</Required>
</tests>
<depends type="ModelRelationField">
<Model>
<template>
<source>OPNsense.monit.monit</source>
<items>service</items>
<display>name</display>
</template>
</Model>
<ValidationMessage>Related item not found</ValidationMessage>
<multiple>Y</multiple>
<Required>N</Required>
</depends>
</service>
<test type="ArrayField">
<name type="TextField">

View File

@ -201,6 +201,7 @@ POSSIBILITY OF SUCH DAMAGE.
$('tr[id="row_monit.service.interface"]').addClass('hidden');
$('tr[id="row_monit.service.start"]').removeClass('hidden');
$('tr[id="row_monit.service.stop"]').removeClass('hidden');
$('tr[id="row_monit.service.depends"]').removeClass('hidden');
switch (servicetype) {
case 'process':
var pidfile = $('#monit\\.service\\.pidfile').val();
@ -236,6 +237,7 @@ POSSIBILITY OF SUCH DAMAGE.
case 'system':
$('tr[id="row_monit.service.start"]').addClass('hidden');
$('tr[id="row_monit.service.stop"]').addClass('hidden');
$('tr[id="row_monit.service.depends"]').addClass('hidden');
break;
default:
$('tr[id="row_monit.service.path"]').removeClass('hidden');

View File

@ -128,6 +128,12 @@ check program {{ service.name }} {{ path }} {{ timeout }}
check {{ service.type }} {{ service.name }} {{ path }}
{% endif %}
{% endif %}
{% if service.depends is defined %}
{% for dependency in service.depends.split(",") %}
{% set dependency = helpers.getUUID(dependency) %}
depends on {{dependency.name}}
{% endfor %}
{% endif %}
{% if service.start|default('') != '' %}
start program = "{{ service.start }}"
{% endif %}