mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
service templates - move to blade -wip
This commit is contained in:
@@ -35,14 +35,14 @@ class ServiceTemplateController extends SelectController
|
||||
|
||||
protected function baseQuery($request)
|
||||
{
|
||||
return ServiceTemplate::hasAccess($request->user())->select('service_template_id', 'service_template_name');
|
||||
return ServiceTemplate::hasAccess($request->user())->select('id', 'name');
|
||||
}
|
||||
|
||||
public function formatItem($service_template)
|
||||
{
|
||||
return [
|
||||
'id' => $service_template->service_template_id,
|
||||
'text' => $service_template->service_template_name,
|
||||
'id' => $service_template->id,
|
||||
'text' => $service_template->name,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ class ServiceTemplateController extends Controller
|
||||
public function index()
|
||||
{
|
||||
return view('service-template.index', [
|
||||
'service_templates' => ServiceTemplate::orderBy('service_template_name')->get(),
|
||||
'service_templates' => ServiceTemplate::orderBy('name')->get(),
|
||||
'device_groups' => DeviceGroup::orderBy('name')->get(),
|
||||
]);
|
||||
}
|
||||
@@ -54,31 +54,31 @@ class ServiceTemplateController extends Controller
|
||||
public function store(Request $request)
|
||||
{
|
||||
$this->validate($request, [
|
||||
'service_template_name' => 'required|string|unique:service_templates',
|
||||
'name' => 'required|string|unique:service_templates',
|
||||
'device_group_id' => 'integer',
|
||||
'service_template_type' => 'string',
|
||||
'service_template_param' => 'string',
|
||||
'service_template_ip' => 'string',
|
||||
'service_template_desc' => 'string',
|
||||
'service_template_changed' => 'integer',
|
||||
'service_template_disabled' => 'integer',
|
||||
'service_template_ignore' => 'integer',
|
||||
'type' => 'string',
|
||||
'param' => 'string',
|
||||
'ip' => 'string',
|
||||
'desc' => 'string',
|
||||
'changed' => 'integer',
|
||||
'disabled' => 'integer',
|
||||
'ignore' => 'integer',
|
||||
]);
|
||||
|
||||
$serviceTemplate = ServiceTemplate::make($request->only([
|
||||
'service_template_name',
|
||||
'name',
|
||||
'device_group_id',
|
||||
'service_template_type',
|
||||
'service_template_param',
|
||||
'service_template_ip',
|
||||
'service_template_desc',
|
||||
'service_template_changed',
|
||||
'service_template_disabled',
|
||||
'service_template_ignore',
|
||||
'type',
|
||||
'param',
|
||||
'ip',
|
||||
'desc',
|
||||
'changed',
|
||||
'disabled',
|
||||
'ignore',
|
||||
]));
|
||||
$serviceTemplate->save();
|
||||
|
||||
Toastr::success(__('Service Template :service_template_name created', ['service_template_name' => $serviceTemplate->service_template_name]));
|
||||
Toastr::success(__('Service Template :name created', ['name' => $serviceTemplate->name]));
|
||||
|
||||
return redirect()->route('services.templates.index');
|
||||
}
|
||||
@@ -91,7 +91,7 @@ class ServiceTemplateController extends Controller
|
||||
*/
|
||||
public function show(ServiceTemplate $serviceTemplate)
|
||||
{
|
||||
return redirect(url('/services-templates/=' . $serviceTemplate->service_template_id));
|
||||
return redirect(url('/services/templates/=' . $serviceTemplate->id));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -118,29 +118,29 @@ class ServiceTemplateController extends Controller
|
||||
public function update(Request $request, ServiceTemplate $serviceTemplate)
|
||||
{
|
||||
$this->validate($request, [
|
||||
'service_template_name' => [
|
||||
'name' => [
|
||||
'required',
|
||||
'string',
|
||||
Rule::unique('service_templates')->where(function ($query) use ($serviceTemplate) {
|
||||
$query->where('service_template_id', '!=', $serviceTemplate->service_template_id);
|
||||
$query->where('id', '!=', $serviceTemplate->id);
|
||||
}),
|
||||
],
|
||||
'device_group_id' => 'integer',
|
||||
'service_template_type' => 'string',
|
||||
'service_template_param' => 'string',
|
||||
'service_template_ip' => 'string',
|
||||
'service_template_desc' => 'string',
|
||||
'service_template_changed' => 'integer',
|
||||
'service_template_disabled' => 'integer',
|
||||
'service_template_ignore' => 'integer',
|
||||
'type' => 'string',
|
||||
'param' => 'string',
|
||||
'ip' => 'string',
|
||||
'desc' => 'string',
|
||||
'changed' => 'integer',
|
||||
'disabled' => 'integer',
|
||||
'ignore' => 'integer',
|
||||
]);
|
||||
|
||||
$serviceTemplate->fill($request->only(['service_template_name', 'device_group_id', 'service_template_type', 'service_template_param', 'service_template_ip', 'service_template_desc', 'service_template_changed', 'service_template_ignore', 'service_template_disable']));
|
||||
$serviceTemplate->fill($request->only(['name', 'device_group_id', 'type', 'param', 'ip', 'desc', 'changed', 'ignore', 'disable']));
|
||||
|
||||
if ($serviceTemplate->isDirty() || $devices_updated) {
|
||||
try {
|
||||
if ($serviceTemplate->save() || $devices_updated) {
|
||||
Toastr::success(__('Service Template :service_template_name updated', ['service_template_name' => $serviceTemplate->service_template_name]));
|
||||
Toastr::success(__('Service Template :name updated', ['name' => $serviceTemplate->name]));
|
||||
} else {
|
||||
Toastr::error(__('Failed to save'));
|
||||
|
||||
@@ -168,7 +168,7 @@ class ServiceTemplateController extends Controller
|
||||
{
|
||||
$serviceTemplate->delete();
|
||||
|
||||
Toastr::success(__('Service Template :service_template_name deleted', ['service_template_name' => $serviceTemplate->service_template_name]));
|
||||
Toastr::success(__('Service Template :name deleted', ['name' => $serviceTemplate->name]));
|
||||
|
||||
return redirect()->route('services.templates.index');
|
||||
}
|
||||
|
||||
@@ -9,26 +9,26 @@ use LibreNMS\Interfaces\Models\Keyable;
|
||||
class ServiceTemplate extends Model implements Keyable
|
||||
{
|
||||
public $timestamps = false;
|
||||
protected $primaryKey = 'service_template_id';
|
||||
protected $primaryKey = 'id';
|
||||
protected $fillable = [
|
||||
'service_template_id',
|
||||
'id',
|
||||
'device_group_id',
|
||||
'service_template_ip',
|
||||
'service_template_type',
|
||||
'service_template_desc',
|
||||
'service_template_param',
|
||||
'service_template_ignore',
|
||||
'service_template_status',
|
||||
'service_template_changed',
|
||||
'service_template_disabled',
|
||||
'service_template_name',
|
||||
'ip',
|
||||
'type',
|
||||
'desc',
|
||||
'param',
|
||||
'ignore',
|
||||
'status',
|
||||
'changed',
|
||||
'disabled',
|
||||
'name',
|
||||
];
|
||||
|
||||
// ---- Helper Functions ----
|
||||
|
||||
public function getCompositeKey()
|
||||
{
|
||||
return $this->service_template_id . '-' . $this->device_group_id;
|
||||
return $this->id . '-' . $this->device_group_id;
|
||||
}
|
||||
|
||||
// ---- Query Scopes ----
|
||||
@@ -37,10 +37,10 @@ class ServiceTemplate extends Model implements Keyable
|
||||
* @param Builder $query
|
||||
* @return Builder
|
||||
*/
|
||||
public function getServiceTemplate($service_template_id)
|
||||
public function getServiceTemplate($id)
|
||||
{
|
||||
return $service_template_id->where([
|
||||
['service_template_id', '=', $service_template_id],
|
||||
return $id->where([
|
||||
['id', '=', $id],
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -50,6 +50,6 @@ class ServiceTemplate extends Model implements Keyable
|
||||
*/
|
||||
public function scopeIsDisabled($query)
|
||||
{
|
||||
return $query->where('service_disabled', 1);
|
||||
return $query->where('disabled', 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,16 +13,16 @@ class CreateServicesTemplateTable extends Migration
|
||||
public function up()
|
||||
{
|
||||
Schema::create('service_templates', function (Blueprint $table) {
|
||||
$table->increments('service_template_id');
|
||||
$table->increments('id');
|
||||
$table->unsignedInteger('device_group_id')->index();
|
||||
$table->text('service_template_ip');
|
||||
$table->string('service_template_type');
|
||||
$table->text('service_template_desc');
|
||||
$table->text('service_template_param');
|
||||
$table->boolean('service_template_ignore');
|
||||
$table->unsignedInteger('service_template_changed')->default(0);
|
||||
$table->boolean('service_template_disabled')->default(0);
|
||||
$table->string('service_template_name');
|
||||
$table->text('ip');
|
||||
$table->string('type');
|
||||
$table->text('desc');
|
||||
$table->text('param');
|
||||
$table->boolean('ignore');
|
||||
$table->unsignedInteger('changed')->default(0);
|
||||
$table->boolean('disabled')->default(0);
|
||||
$table->string('name');
|
||||
});
|
||||
Schema::table('services', function (Blueprint $table) {
|
||||
$table->unsignedInteger('service_template_id')->default(0);
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
use LibreNMS\Config;
|
||||
|
||||
if (Config::get('discover_services_templates')) {
|
||||
foreach (DB::table('service_templates')->pluck('service_template_id') as $service_template) {
|
||||
discover_service_template($service_template['service_template_id']);
|
||||
foreach (DB::table('service_templates')->pluck('id') as $service_template) {
|
||||
discover_service_template($service_template['id']);
|
||||
}
|
||||
}
|
||||
if (Config::get('discover_services')) {
|
||||
|
||||
@@ -123,7 +123,7 @@ function delete_service_template($service_template = null)
|
||||
}
|
||||
remove_service_template($service_template);
|
||||
|
||||
return dbDelete('service_templates', '`service_template_id` = ?', [$service_template]);
|
||||
return dbDelete('service_templates', '`id` = ?', [$service_template]);
|
||||
}
|
||||
|
||||
function discover_service_template($service_template = null)
|
||||
@@ -131,15 +131,15 @@ function discover_service_template($service_template = null)
|
||||
$services_template = ServiceTemplate::getServiceTemplate($service_template);
|
||||
$status = null;
|
||||
foreach (DB::table('device_group_device')->where('device_group_id', $services_template[0]['device_group_id'])->pluck('device_id') as $device) {
|
||||
foreach (DB::table('services')->where('service_template_id', $service_template)->where('device_id', $device)->where('service_template_changed', '!=', $services_template[0]['service_template_changed'])->pluck('service_id') as $service) {
|
||||
$update = ['service_desc' => $services_template[0]['service_template_desc'], 'service_ip' => $services_template[0]['service_template_ip'], 'service_param' => $services_template[0]['service_template_param'], 'service_ignore' => $services_template[0]['service_template_ignore'], 'service_disabled' => $services_template[0]['service_template_disabled'], 'service_template_id' => $services_template[0]['service_template_id'], 'service_name' => $services_template[0]['service_template_name'], 'service_template_changed' => $services_template[0]['service_template_changed']];
|
||||
foreach (DB::table('services')->where('service_template_id', $service_template)->where('device_id', $device)->where('service_template_changed', '!=', $services_template[0]['changed'])->pluck('service_id') as $service) {
|
||||
$update = ['service_desc' => $services_template[0]['desc'], 'service_ip' => $services_template[0]['ip'], 'service_param' => $services_template[0]['param'], 'service_ignore' => $services_template[0]['ignore'], 'service_disabled' => $services_template[0]['disabled'], 'service_template_id' => $services_template[0]['id'], 'service_name' => $services_template[0]['name'], 'service_template_changed' => $services_template[0]['changed']];
|
||||
edit_service($update, $service['service_id']);
|
||||
log_event("Updated Service: {$services_template[0]['service_template_name']} from Service Template ID: {$services_template[0]['service_template_id']}", $device, 'service', 2);
|
||||
log_event("Updated Service: {$services_template[0]['name']} from Service Template ID: {$services_template[0]['id']}", $device, 'service', 2);
|
||||
$status = 1;
|
||||
}
|
||||
if (! DB::raw('COUNT(service_id)')->from('services')->where('service_template_id', $service_template)->where('device_id', $device)) {
|
||||
add_service($device, $services_template[0]['service_template_type'], $services_template[0]['service_template_desc'], $services_template[0]['service_template_ip'], $services_template[0]['service_template_param'], $services_template[0]['service_template_ignore'], $services_template[0]['service_template_disabled'], $services_template[0]['service_template_id'], $services_template[0]['service_template_name'], $services_template[0]['service_template_changed']);
|
||||
log_event("Added Service: {$services_template[0]['service_template_name']} from Service Template ID: {$services_template[0]['service_template_id']}", $device, 'service', 2);
|
||||
add_service($device, $services_template[0]['type'], $services_template[0]['desc'], $services_template[0]['ip'], $services_template[0]['param'], $services_template[0]['ignore'], $services_template[0]['disabled'], $services_template[0]['id'], $services_template[0]['name'], $services_template[0]['changed']);
|
||||
log_event("Added Service: {$services_template[0]['name']} from Service Template ID: {$services_template[0]['id']}", $device, 'service', 2);
|
||||
$status = 1;
|
||||
}
|
||||
}
|
||||
|
||||
+10
-10
@@ -1728,18 +1728,18 @@ services:
|
||||
services_device_id_index: { Name: services_device_id_index, Columns: [device_id], Unique: false, Type: BTREE }
|
||||
service_templates:
|
||||
Columns:
|
||||
- { Field: service_template_id, Type: 'int unsigned', 'Null': false, Extra: auto_increment }
|
||||
- { Field: id, Type: 'int unsigned', 'Null': false, Extra: auto_increment }
|
||||
- { Field: device_group_id, Type: 'int unsigned', 'Null': false, Extra: '' }
|
||||
- { Field: service_template_ip, Type: text, 'Null': false, Extra: '' }
|
||||
- { Field: service_template_type, Type: varchar(255), 'Null': false, Extra: '' }
|
||||
- { Field: service_template_desc, Type: text, 'Null': false, Extra: '' }
|
||||
- { Field: service_template_param, Type: text, 'Null': false, Extra: '' }
|
||||
- { Field: service_template_ignore, Type: tinyint, 'Null': false, Extra: '' }
|
||||
- { Field: service_template_changed, Type: 'int unsigned', 'Null': false, Extra: '', Default: '0' }
|
||||
- { Field: service_template_disabled, Type: tinyint, 'Null': false, Extra: '', Default: '0' }
|
||||
- { Field: service_template_name, Type: varchar(255), 'Null': false, Extra: '' }
|
||||
- { Field: ip, Type: text, 'Null': false, Extra: '' }
|
||||
- { Field: type, Type: varchar(255), 'Null': false, Extra: '' }
|
||||
- { Field: desc, Type: text, 'Null': false, Extra: '' }
|
||||
- { Field: param, Type: text, 'Null': false, Extra: '' }
|
||||
- { Field: ignore, Type: tinyint, 'Null': false, Extra: '' }
|
||||
- { Field: changed, Type: 'int unsigned', 'Null': false, Extra: '', Default: '0' }
|
||||
- { Field: disabled, Type: tinyint, 'Null': false, Extra: '', Default: '0' }
|
||||
- { Field: name, Type: varchar(255), 'Null': false, Extra: '' }
|
||||
Indexes:
|
||||
PRIMARY: { Name: PRIMARY, Columns: [service_template_id], Unique: true, Type: BTREE }
|
||||
PRIMARY: { Name: PRIMARY, Columns: [id], Unique: true, Type: BTREE }
|
||||
service_templates_device_group_id_index: { Name: service_templates_device_group_id_index, Columns: [device_group_id], Unique: false, Type: BTREE }
|
||||
session:
|
||||
Columns:
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: 'ajax_form.php',
|
||||
data: { type: "discover-service-template", service_template_id: id },
|
||||
data: { type: "discover-service-template", id: id },
|
||||
dataType: "json",
|
||||
success: function(data){
|
||||
if(data['status'] == 'ok') {
|
||||
@@ -100,7 +100,7 @@
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: 'ajax_form.php',
|
||||
data: { type: "remove-service-template", service_template_id: id },
|
||||
data: { type: "remove-service-template", id: id },
|
||||
dataType: "json",
|
||||
success: function(data){
|
||||
if(data['status'] == 'ok') {
|
||||
@@ -120,7 +120,7 @@
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: 'ajax_form.php',
|
||||
data: { type: "delete-service-template", service_template_id: id },
|
||||
data: { type: "delete-service-template", id: id },
|
||||
dataType: "json",
|
||||
success: function(data){
|
||||
if(data['status'] == 'ok') {
|
||||
|
||||
Reference in New Issue
Block a user