mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Add service templates
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* LibreNMS
|
||||
*
|
||||
* Copyright (c) 2016 Aaron Daniels <[email protected]>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or (at your
|
||||
* option) any later version. Please see LICENSE.txt at the top level of
|
||||
* the source code distribution for details.
|
||||
*/
|
||||
|
||||
if (!Auth::user()->hasGlobalAdmin()) {
|
||||
die('ERROR: You need to be admin');
|
||||
}
|
||||
|
||||
$service_template_id = $vars['service_template_id'];
|
||||
$type = $vars['stype'];
|
||||
$desc = $vars['desc'];
|
||||
$ip = $vars['ip'];
|
||||
$param = $vars['param'];
|
||||
$ignore = isset($vars['ignore']) ? 1 : 0;
|
||||
$disabled = isset($vars['disabled']) ? 1 : 0;
|
||||
$device_group_id = $vars['device_group_id'];
|
||||
|
||||
if (is_numeric($service_template_id) && $service_template_id > 0) {
|
||||
// Need to edit.
|
||||
$update = array('service_template_desc' => $desc, 'service_template_ip' => $ip, 'service_template_param' => $param, 'service_template_ignore' => $ignore, 'service_template_disabled' => $disabled);
|
||||
if (is_numeric(edit_service($update, $service_template_id))) {
|
||||
$status = array('status' =>0, 'message' => 'Modified Service Template: <i>'.$service_template_id.': '.$type.'</i>');
|
||||
} else {
|
||||
$status = array('status' =>1, 'message' => 'ERROR: Failed to modify Service Template: <i>'.$service_template_id.'</i>');
|
||||
}
|
||||
} else {
|
||||
// Need to add.
|
||||
$service_template_id = add_service_template($device_group_id, $type, $desc, $ip, $param, $ignore, $disabled);
|
||||
if ($service_template_id == false) {
|
||||
$status = array('status' =>1, 'message' => 'ERROR: Failed to add Service Template: <i>'.$service_template_id.': '.$type.'</i>');
|
||||
} else {
|
||||
$status = array('status' =>0, 'message' => 'Added Service Template: <i>'.$service_template_id.': '.$type.'</i>');
|
||||
}
|
||||
}
|
||||
header('Content-Type: application/json');
|
||||
echo _json_encode($status);
|
||||
@@ -34,17 +34,17 @@ if (Auth::user()->hasGlobalAdmin()) {
|
||||
<h5 class="modal-title" id="Create">Services</h5>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form method="post" role="form" id="service" class="form-horizontal service-form">
|
||||
<form method="post" role="form" id="service-template" class="form-horizontal service-template-form">
|
||||
<?php echo csrf_field() ?>
|
||||
<input type="hidden" name="service_template_id" id="service_template_id" value="">
|
||||
<input type="hidden" name="device_group_id" id="device_group_id" value="<?php echo $device_group['device_group_id']?>">
|
||||
<input type="hidden" name="device_group_id" id="device_group_id" value="<?php echo $device_group['id']?>">
|
||||
<input type="hidden" name="type" id="type" value="create-service-template">
|
||||
<div class="form-service">
|
||||
<div class="form-service-template">
|
||||
<div class="col-sm-12">
|
||||
<span id="ajax_response"> </span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-service row">
|
||||
<div class="form-service-template row">
|
||||
<label for='stype' class='col-sm-3 control-label'>Type: </label>
|
||||
<div class="col-sm-9">
|
||||
<select id='stype' name='stype' placeholder='type' class='form-control has-feedback'>
|
||||
@@ -52,39 +52,39 @@ if (Auth::user()->hasGlobalAdmin()) {
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class='form-service row'>
|
||||
<div class='form-service-template row'>
|
||||
<label for='desc' class='col-sm-3 control-label'>Description: </label>
|
||||
<div class='col-sm-9'>
|
||||
<textarea id='desc' name='desc' class='form-control'></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-service row">
|
||||
<div class="form-service-template row">
|
||||
<label for='ip' class='col-sm-3 control-label'>IP Address: </label>
|
||||
<div class="col-sm-9">
|
||||
<input type='text' id='ip' name='ip' class='form-control has-feedback' placeholder='<?php echo $device_group['name']?>'/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-service row">
|
||||
<div class="form-service-template row">
|
||||
<label for='param' class='col-sm-3 control-label'>Parameters: </label>
|
||||
<div class="col-sm-9">
|
||||
<input type='text' id='param' name='param' class='form-control has-feedback' placeholder=''/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-service row">
|
||||
<div class="form-service-template row">
|
||||
<label for='ignore' class='col-sm-3 control-label'>Ignore alert tag: </label>
|
||||
<div class="col-sm-9">
|
||||
<input type='checkbox' id='ignore' name='ignore'>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-service row">
|
||||
<div class="form-service-template row">
|
||||
<label for='disabled' class='col-sm-3 control-label'>Disable polling and alerting: </label>
|
||||
<div class="col-sm-9">
|
||||
<input type='checkbox' id='disabled' name='disabled'>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-service row">
|
||||
<div class="form-service-template row">
|
||||
<div class="col-sm-offset-3 col-sm-9">
|
||||
<button class="btn btn-success btn-sm" type="submit" name="service-submit" id="service-submit" value="save">Save Service</button>
|
||||
<button class="btn btn-success btn-sm" type="submit" name="service-template-submit" id="service-template-submit" value="save">Save Service Template</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
@@ -116,7 +116,7 @@ $('#create-service-template').on('show.bs.modal', function (e) {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "ajax_form.php",
|
||||
data: { type: "parse-service", service_template_id: service_template_id },
|
||||
data: { type: "parse-service-template", service_template_id: service_template_id },
|
||||
dataType: "json",
|
||||
success: function(output) {
|
||||
$('#stype').val(output['stype']);
|
||||
@@ -143,7 +143,7 @@ $('#service-template-submit').click('', function(e) {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "ajax_form.php",
|
||||
data: $('form.service-form').serialize(),
|
||||
data: $('form.service-template-form').serialize(),
|
||||
success: function(result){
|
||||
if (result.status == 0) {
|
||||
// Yay.
|
||||
|
||||
@@ -24,7 +24,7 @@ require_once 'includes/html/modal/delete_service_template.inc.php';
|
||||
<div class="row">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<span style="font-weight: bold;">Services</span> »
|
||||
<span style="font-weight: bold;">Services Templates</span> »
|
||||
|
||||
<?php
|
||||
$menu_options = array(
|
||||
|
||||
@@ -34,6 +34,14 @@ echo "
|
||||
<div class='col-sm-5'>
|
||||
</div>
|
||||
</div>
|
||||
<div class='form-group'>
|
||||
<label for='ip' class='col-sm-2 control-label'>IP Address</label>
|
||||
<div class='col-sm-5'>
|
||||
<input name='ip' id='ip' class='form-control input-sm' placeholder='IP Address'>
|
||||
</div>
|
||||
<div class='col-sm-5'>
|
||||
</div>
|
||||
</div>
|
||||
<div class='form-group'>
|
||||
<label for='params' class='col-sm-2 control-label'>Parameters</label>
|
||||
<div class='col-sm-5'>
|
||||
|
||||
@@ -112,13 +112,13 @@ function add_service_template($device_group, $type, $desc, $param = "", $ignore
|
||||
# $device_group = device_group_by_id_cache($device_group);
|
||||
# }
|
||||
|
||||
$insert = array('device_group_id' => $device_group['device_group_id'], 'service_template_type' => $type, 'service_template_changed' => array('UNIX_TIMESTAMP(NOW())'), 'service_template_desc' => $desc, 'service_template_param' => $param, 'service_template_ignore' => $ignore, 'service_template_disabled' => $disabled);
|
||||
$insert = array('device_group_id' => $device_group['device_group_id'], 'service_template_ip' => $ip, 'service_template_type' => $type, 'service_template_changed' => array('UNIX_TIMESTAMP(NOW())'), 'service_template_desc' => $desc, 'service_template_param' => $param, 'service_template_ignore' => $ignore, 'service_template_disabled' => $disabled);
|
||||
return dbInsert($insert, 'services_template');
|
||||
}
|
||||
|
||||
function service_template_get($device_group = null, $service_template = null)
|
||||
{
|
||||
$sql_query = "SELECT `service_template_id`,`device_group_id`,`service_template_type`,`service_template_desc`,`service_template_param`,`service_template_ignore`,`service_template_changed`,`service_template_disabled` FROM `services_template` WHERE";
|
||||
$sql_query = "SELECT `service_template_id`,`device_group_id`,`service_template_ip`,`service_template_type`,`service_template_desc`,`service_template_param`,`service_template_ignore`,`service_template_changed`,`service_template_disabled` FROM `services_template` WHERE";
|
||||
$sql_param = array();
|
||||
$add = 0;
|
||||
|
||||
@@ -158,7 +158,7 @@ function edit_service_template($update = array(), $service_template = null)
|
||||
return false;
|
||||
}
|
||||
|
||||
return dbUpdate($update, 'services_template', '`service_template_id`=?', array($service));
|
||||
return dbUpdate($update, 'services_template', '`service_template_id`=?', array($service_template));
|
||||
}
|
||||
|
||||
function delete_service_template($service_template = null)
|
||||
@@ -167,7 +167,7 @@ function delete_service_template($service_template = null)
|
||||
return false;
|
||||
}
|
||||
|
||||
return dbDelete('services_template', '`service_template_id` = ?', array($service));
|
||||
return dbDelete('services_template', '`service_template_id` = ?', array($service_template));
|
||||
}
|
||||
|
||||
function discover_service($device, $service)
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
CREATE TABLE IF NOT EXISTS `services_template` ( `service_template_id` int unsigned NOT NULL AUTO_INCREMENT, `device_group_id` int NOT NULL, `service_template_type` varchar(255) NOT NULL, `service_template_desc` text NOT NULL, `service_template_param` text NOT NULL, `service_template_ignore` tinyint(1) NOT NULL, `service_template_changed` int unsigned NOT NULL DEFAULT '0', `service_template_disabled` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`service_template_id`), KEY `service_template_devicegroup` (`device_group_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_unicode_ci;
|
||||
CREATE TABLE IF NOT EXISTS `services_template` ( `service_template_id` int unsigned NOT NULL AUTO_INCREMENT, `device_group_id` int NOT NULL, `service_template_type` varchar(255) NOT NULL, `service_template_ip` text NOT NULL, `service_template_desc` text NOT NULL, `service_template_param` text NOT NULL, `service_template_ignore` tinyint(1) NOT NULL, `service_template_changed` int unsigned NOT NULL DEFAULT '0', `service_template_disabled` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`service_template_id`), KEY `service_template_devicegroup` (`device_group_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_unicode_ci;
|
||||
|
||||
Reference in New Issue
Block a user