From fcbad05aff249c4e7e91357c71f1537ee335c395 Mon Sep 17 00:00:00 2001 From: Anthony F McInerney Date: Fri, 16 Oct 2020 16:42:31 +0100 Subject: [PATCH] service templates - move to blade -wip --- .../Select/ServiceTemplateController.php | 6 +- .../Controllers/ServiceTemplateController.php | 62 +++++++++---------- app/Models/ServiceTemplate.php | 32 +++++----- ..._230114_create_services_template_table.php | 18 +++--- includes/discovery/services.inc.php | 4 +- includes/services.inc.php | 12 ++-- misc/db_schema.yaml | 20 +++--- .../views/service-template/index.blade.php | 6 +- 8 files changed, 80 insertions(+), 80 deletions(-) diff --git a/app/Http/Controllers/Select/ServiceTemplateController.php b/app/Http/Controllers/Select/ServiceTemplateController.php index 5645f4dee4..d3d528bd12 100644 --- a/app/Http/Controllers/Select/ServiceTemplateController.php +++ b/app/Http/Controllers/Select/ServiceTemplateController.php @@ -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, ]; } } diff --git a/app/Http/Controllers/ServiceTemplateController.php b/app/Http/Controllers/ServiceTemplateController.php index 71ec1e8888..764aee05cf 100644 --- a/app/Http/Controllers/ServiceTemplateController.php +++ b/app/Http/Controllers/ServiceTemplateController.php @@ -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'); } diff --git a/app/Models/ServiceTemplate.php b/app/Models/ServiceTemplate.php index 6c5ecffd36..9c808c09b6 100644 --- a/app/Models/ServiceTemplate.php +++ b/app/Models/ServiceTemplate.php @@ -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); } } diff --git a/database/migrations/2020_09_18_230114_create_services_template_table.php b/database/migrations/2020_09_18_230114_create_services_template_table.php index aed5a201ee..b53ddcad67 100644 --- a/database/migrations/2020_09_18_230114_create_services_template_table.php +++ b/database/migrations/2020_09_18_230114_create_services_template_table.php @@ -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); diff --git a/includes/discovery/services.inc.php b/includes/discovery/services.inc.php index 933222d329..ff01580e38 100644 --- a/includes/discovery/services.inc.php +++ b/includes/discovery/services.inc.php @@ -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')) { diff --git a/includes/services.inc.php b/includes/services.inc.php index 38035b3692..f5b7e25e6d 100644 --- a/includes/services.inc.php +++ b/includes/services.inc.php @@ -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; } } diff --git a/misc/db_schema.yaml b/misc/db_schema.yaml index eb2d8a4303..2cc167c644 100644 --- a/misc/db_schema.yaml +++ b/misc/db_schema.yaml @@ -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: diff --git a/resources/views/service-template/index.blade.php b/resources/views/service-template/index.blade.php index 50f9ce9812..a5ab53c191 100644 --- a/resources/views/service-template/index.blade.php +++ b/resources/views/service-template/index.blade.php @@ -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') {