From 2159b241619778362ca8cc9cecbc761d99c71a71 Mon Sep 17 00:00:00 2001 From: Giovanni Date: Thu, 2 Apr 2020 15:34:39 +0200 Subject: [PATCH 001/124] Small fix --- .env | 2 +- public/js/script.js | 1 - resources/views/devices/create.blade.php | 16 +++++++--------- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/.env b/.env index a2ab2e48..caf6728c 100644 --- a/.env +++ b/.env @@ -4,7 +4,7 @@ APP_KEY=base64:Kx0bZ0S6BUK05v9vam8ty+7Zsigqlp/Wqf+cbLCyOEM= APP_DEBUG=true APP_URL=http://localhost -API_URL=http://core.redroundrobin.site:9999 +API_URL=http://core.host.redroundrobin.site:9999 LOG_CHANNEL=stack diff --git a/public/js/script.js b/public/js/script.js index 5efd34e6..8460fd4c 100644 --- a/public/js/script.js +++ b/public/js/script.js @@ -33,7 +33,6 @@ addDevice.addEventListener("click", (e) => { const deviceIdValue = document.querySelector("#inputDeviceId").value; const deviceNameValue = document.querySelector("#inputDeviceName").value; if (deviceIdValue !== "" && deviceNameValue !== "") { - //creo oggetto dispositivo da vedere come alert("Dispositivo aggiunto correttamente"); } else { e.preventDefault(); diff --git a/resources/views/devices/create.blade.php b/resources/views/devices/create.blade.php index 87ec8301..40e06c76 100644 --- a/resources/views/devices/create.blade.php +++ b/resources/views/devices/create.blade.php @@ -139,15 +139,13 @@ @enderror -
-
- -
+
+
@endcan From 5c391b9b9b1ef75834f21a954a39bdd790684c66 Mon Sep 17 00:00:00 2001 From: Alessandro Date: Thu, 2 Apr 2020 16:02:43 +0200 Subject: [PATCH 002/124] Fix pagine dispositivi --- app/Http/Controllers/DeviceController.php | 13 ++++++++-- resources/views/devices/edit.blade.php | 31 +++++++++++------------ routes/breadcrumbs.php | 4 +-- 3 files changed, 28 insertions(+), 20 deletions(-) diff --git a/app/Http/Controllers/DeviceController.php b/app/Http/Controllers/DeviceController.php index 15a743ad..c67ed08f 100644 --- a/app/Http/Controllers/DeviceController.php +++ b/app/Http/Controllers/DeviceController.php @@ -30,8 +30,17 @@ public function create() public function edit($device) { - $device = $this->provider->retrieveById($device); - return view('devices.edit', compact('user')); + //$device = $this->provider->find($device); + ///FAKER + $device = new Device(); + $arr = array_combine( + array('deviceId', 'name', 'gateway','frequency', 'status'), + array("1", "dev1", "US-Gateway", 1, "attivo") + ); + $device->fill($arr); + $devices[] = $device; + //TODO remove + return view('devices.edit', compact('device')); } /** diff --git a/resources/views/devices/edit.blade.php b/resources/views/devices/edit.blade.php index 38896a02..9a3d16d1 100644 --- a/resources/views/devices/edit.blade.php +++ b/resources/views/devices/edit.blade.php @@ -1,5 +1,5 @@ @extends('layouts.app') -@section('breadcrumbs', Breadcrumbs::render('devices.edit')) +@section('breadcrumbs', Breadcrumbs::render('devices.edit', $device->deviceId)) @section('content')
@@ -31,7 +31,7 @@
- + @error('deviceId') {{ $message }} @@ -42,7 +42,7 @@
- + @error('deviceName') {{ $message }} @@ -55,8 +55,8 @@
@error('gatewayName') @@ -71,17 +71,16 @@
@error('frequency') diff --git a/routes/breadcrumbs.php b/routes/breadcrumbs.php index f5d0f363..a5c2e195 100644 --- a/routes/breadcrumbs.php +++ b/routes/breadcrumbs.php @@ -24,8 +24,8 @@ $trail->push('Creazione', route('devices.create')); }); Breadcrumbs::for('devices.edit', function ($trail, $deviceId) { - $trail->parent('devices.index', $userId); - $trail->push('Modifica', route('devices.edit', ['deviceId' => $userId])); + $trail->parent('devices'); + $trail->push('Modifica', route('devices.edit', ['deviceId' => $deviceId])); }); // Sensori From c89d9f5447b155988ab0381841a4ffa3b5d2ca94 Mon Sep 17 00:00:00 2001 From: Alessandro Date: Fri, 3 Apr 2020 12:46:50 +0200 Subject: [PATCH 003/124] Aggiunte pagine gateway --- app/Http/Controllers/GatewayController.php | 35 ++++++++- app/Models/Gateway.php | 3 +- resources/views/gateways/create.blade.php | 58 ++++++++++++++ resources/views/gateways/edit.blade.php | 57 ++++++++++++++ resources/views/gateways/index.blade.php | 90 ++++++++++++++++++++++ resources/views/gateways/show.blade.php | 70 +++++++++++++++++ resources/views/layouts/sidebar.blade.php | 2 +- routes/breadcrumbs.php | 19 +++++ routes/web.php | 6 +- 9 files changed, 335 insertions(+), 5 deletions(-) create mode 100644 resources/views/gateways/create.blade.php create mode 100644 resources/views/gateways/edit.blade.php create mode 100644 resources/views/gateways/index.blade.php create mode 100644 resources/views/gateways/show.blade.php diff --git a/app/Http/Controllers/GatewayController.php b/app/Http/Controllers/GatewayController.php index 23f97c51..d10547b3 100644 --- a/app/Http/Controllers/GatewayController.php +++ b/app/Http/Controllers/GatewayController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers; +use App\Models\Gateway; use App\Providers\GatewayServiceProvider; use Illuminate\Contracts\View\Factory; use Illuminate\View\View; @@ -40,7 +41,39 @@ public function index() */ public function show($gateway) { - $gateway = $this->provider->retrieveById($gateway); + //$gateway = $this->provider->retrieveById($gateway); + ///FAKER + $gateway = new Gateway(); + $arr = array_combine( + array('gatewayId', 'name', 'devices'), + array("1", "US-Gateway", "") + ); + $gateway->fill($arr); + //TODO remove return view('gateways.show', compact('gateway')); } + + /** + * @return Factory|View + */ + public function create() //TODO + { + $entityProvider = new GatewayServiceProvider(); + $entities = $entityProvider->findAll(); + return view('gateways.create', compact(['entities'])); + } + + public function edit($gateway) + { + //$gateway = $this->provider->retrieveById($gateway); + ///FAKER + $gateway = new Gateway(); + $arr = array_combine( + array('gatewayId', 'name', 'devices'), + array("1", "US-Gateway", "") + ); + $gateway->fill($arr); + //TODO remove + return view('gateways.edit', compact('gateway')); + } } diff --git a/app/Models/Gateway.php b/app/Models/Gateway.php index 971f3da5..3542bcd7 100644 --- a/app/Models/Gateway.php +++ b/app/Models/Gateway.php @@ -6,5 +6,6 @@ class Gateway extends Model { - protected $fillable = ['gatewayId', 'name']; + protected $fillable = ['gatewayId', 'name', 'devices']; + } diff --git a/resources/views/gateways/create.blade.php b/resources/views/gateways/create.blade.php new file mode 100644 index 00000000..17e975b0 --- /dev/null +++ b/resources/views/gateways/create.blade.php @@ -0,0 +1,58 @@ +@extends('layouts.app') +@section('breadcrumbs', Breadcrumbs::render('gateways.create')) +@section('content') +
+
+

Creazione gateway

+
+ +
+
+
+ + + + Creazione gateway +
+
+ @can(['isAdmin']) +
+

Puoi creare un nuovo gateway inserendo le informazioni elencate in seguito:

+
+ @csrf + @method('POST') +
+ +
+ + @error('gatewayName') + + {{ $message }} + + @enderror +
+
+
+ @endcan +
+
+ +
+ + +@endsection + diff --git a/resources/views/gateways/edit.blade.php b/resources/views/gateways/edit.blade.php new file mode 100644 index 00000000..f50209b7 --- /dev/null +++ b/resources/views/gateways/edit.blade.php @@ -0,0 +1,57 @@ +@extends('layouts.app') +@section('breadcrumbs', Breadcrumbs::render('gateways.edit', $gateway->gatewayId)) +@section('content') +
+
+

Modifica gateway

+
+ +
+
+
+ + + + Modifica gateway +
+
+ @can(['isAdmin']) +
+

Puoi modificare un gateway inserendo le informazioni elencate in seguito:

+
+ @csrf + @method('POST') +
+ +
+ + @error('gatewayName') + + {{ $message }} + + @enderror +
+
+
+ @endcan +
+
+ +
+ + +@endsection diff --git a/resources/views/gateways/index.blade.php b/resources/views/gateways/index.blade.php new file mode 100644 index 00000000..f9bc9fc2 --- /dev/null +++ b/resources/views/gateways/index.blade.php @@ -0,0 +1,90 @@ +@extends('layouts.app') +@section('breadcrumbs', Breadcrumbs::render('gateways')) +@section('content') +
+
+

Gateway

+
+ @can(['isAdmin']) + + +
+
+
Lista gateway
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + @foreach($gateways as $gateway) + + + + {{-- IL NUMERO DI DISPOSITIVI VA PRESO DINAMICAMENTE --}} + + + + + @endforeach + +
ID NomeNumero Dispositivi Configurazione
ID NomeNumero Dispositivi Configurazione
{{$gateway->gatewayId}}{{$gateway->name}}2 + + + + Dettagli + + + + + + Modifica + + + + + + Invia + +
+
+
+
+ @endcan +
+@endsection diff --git a/resources/views/gateways/show.blade.php b/resources/views/gateways/show.blade.php new file mode 100644 index 00000000..6321bfa9 --- /dev/null +++ b/resources/views/gateways/show.blade.php @@ -0,0 +1,70 @@ +@extends('layouts.app') +@section('breadcrumbs', Breadcrumbs::render('gateways.show', $gateway->gatewayId)) +@section('content') +
+
+

Informazioni Gateway

+
+
+ +
+
+
+

Informazioni Gateway

+
+
+
+ + + + + + + + + + + + + {{--NUMERO DI DISPOSITIVI DA PRENDERE DINAMICAMENTE--}} + + +
IdNomeNumero di dispositivi
{{$gateway->gatewayId}}{{$gateway->name}}3
+
+
+
+ +
+
+
Lista dispositivi
+
+
+
+ + + + + + + + + + + < + + + + + + + + + + + +
IdNomeNumero di sensori
IdNomeNumero di sensori
1Termostato3
+
+
+
+
+@endsection diff --git a/resources/views/layouts/sidebar.blade.php b/resources/views/layouts/sidebar.blade.php index 89c14855..eb1c98af 100644 --- a/resources/views/layouts/sidebar.blade.php +++ b/resources/views/layouts/sidebar.blade.php @@ -81,7 +81,7 @@ Gestione Utenti Gestione Enti Gestione Dispositivi - Gestione Gateway + Gestione Gateway
diff --git a/routes/breadcrumbs.php b/routes/breadcrumbs.php index a5c2e195..b839b893 100644 --- a/routes/breadcrumbs.php +++ b/routes/breadcrumbs.php @@ -56,3 +56,22 @@ $trail->parent('users.show', $userId); $trail->push('Modifica', route('users.edit', ['userId' => $userId])); }); + +// Gateway +Breadcrumbs::for('gateways', function ($trail) { + $trail->parent('home'); + $trail->push('Gestione gateway', route('gateways.index')); +}); +Breadcrumbs::for('gateways.show', function ($trail, $gatewayId) { + $trail->parent('gateways'); + $trail->push('Gateway ' . $gatewayId, route('gateways.show', ['gatewayId' => $gatewayId])); +}); +Breadcrumbs::for('gateways.create', function ($trail) { + $trail->parent('gateways'); + $trail->push('Creazione', route('gateways.index')); +}); +Breadcrumbs::for('gateways.edit', function ($trail, $gatewayId) { + $trail->parent('gateways'); + $trail->push('Modifica '. $gatewayId, route('gateways.index', ['gatewayId' => $gatewayId])); +}); + diff --git a/routes/web.php b/routes/web.php index df00a7b7..a56ee35e 100644 --- a/routes/web.php +++ b/routes/web.php @@ -35,8 +35,10 @@ Route::delete('/users/{userId}/delete', 'UserController@destroy')->name('users.destroy'); //routes per gestione gateways -Route::get('/gateways', 'GatewayController@index')->name('gateway.index');//TODO -Route::get('/gateway/{gatewayId}', 'GatewayController@show')->name('gateway.show');//TODO +Route::get('/gateways', 'GatewayController@index')->name('gateways.index');//TODO +Route::get('/gateways/create', 'GatewayController@create')->name('gateways.create');//TODO +Route::get('/gateways/{gatewayId}', 'GatewayController@show')->name('gateways.show');//TODO +Route::get('/gateways/{gatewayId}/edit', 'GatewayController@edit')->name('gateways.edit');//TODO //routes per gestione devices Route::get('/devices', 'DeviceController@index')->name('devices.index'); From d325ff490b84471ca7f78a632583ec8c682b9c1f Mon Sep 17 00:00:00 2001 From: Giovanni Date: Fri, 3 Apr 2020 14:10:19 +0200 Subject: [PATCH 004/124] Funzionalita elimina sensore pagina aggiungi dispositivo --- public/js/script.js | 45 +++++++++++++++++++----- resources/views/devices/create.blade.php | 26 +++++++------- resources/views/devices/edit.blade.php | 32 ++++++++++------- resources/views/devices/index.blade.php | 36 +++++++++---------- resources/views/devices/show.blade.php | 10 +++--- resources/views/settings/edit.blade.php | 30 ++++++++++------ 6 files changed, 111 insertions(+), 68 deletions(-) diff --git a/public/js/script.js b/public/js/script.js index 8460fd4c..f8d83f49 100644 --- a/public/js/script.js +++ b/public/js/script.js @@ -2,26 +2,52 @@ const sensorsList = document.querySelector("#sensorsList"); const addSensor = document.querySelector("#addSensor"); const addDevice = document.querySelector("#addDevice"); const form = document.querySelector("#sensorForm"); +let trashes = document.querySelectorAll(".delete"); let numSensor = 1; addSensor.addEventListener("click", (e) => { e.preventDefault(); const sensorIdValue = document.querySelector("#inputSensorId").value; const sensorTypeValue = document.querySelector("#inputSensorType").value; + // aggiunta sensore al dispositivo if (sensorIdValue !== "" && sensorTypeValue !== "") { sensorsList.innerHTML += `
- - -
- -
- -
- -
+ + +
+ +
+ +
+ +
+
+ +
+
+ +
+
` + trashes = document.querySelectorAll(".delete"); + // eliminazione sensore aggiunto + trashes.forEach((trash) => { + trash.addEventListener("click", (e) => { + e.preventDefault(); + trash.parentElement.parentElement.remove(); + }); + }); numSensor++; form.reset(); } else { @@ -29,6 +55,7 @@ addSensor.addEventListener("click", (e) => { } }); +// aggiunta dispositivo addDevice.addEventListener("click", (e) => { const deviceIdValue = document.querySelector("#inputDeviceId").value; const deviceNameValue = document.querySelector("#inputDeviceName").value; diff --git a/resources/views/devices/create.blade.php b/resources/views/devices/create.blade.php index 40e06c76..a4ae32c5 100644 --- a/resources/views/devices/create.blade.php +++ b/resources/views/devices/create.blade.php @@ -29,8 +29,8 @@ @csrf @method('POST')
- -
+ +
@error('deviceId') @@ -40,8 +40,8 @@
- -
+ +
@error('deviceName') @@ -51,8 +51,8 @@
- -
+ +
@@ -112,14 +112,14 @@
@can(['isAdmin']) -
+

Puoi creare un nuovo sensore inserendo le informazioni elencate in seguito:

@csrf @method('POST')
- -
+ +
@error('sensorId') @@ -129,8 +129,8 @@
- -
+ +
@error('sensorType') diff --git a/resources/views/devices/edit.blade.php b/resources/views/devices/edit.blade.php index 9a3d16d1..c8d52853 100644 --- a/resources/views/devices/edit.blade.php +++ b/resources/views/devices/edit.blade.php @@ -13,6 +13,14 @@ Torna indietro
+
@@ -29,8 +37,8 @@ @csrf @method('POST')
- -
+ +
@error('deviceId') @@ -40,8 +48,8 @@
- -
+ +
@error('deviceName') @@ -51,8 +59,8 @@
- -
+ +
@@ -117,8 +125,8 @@ @csrf @method('POST')
- -
+ +
@error('sensorId') @@ -128,8 +136,8 @@
- -
+ +
@error('sensorType') diff --git a/resources/views/devices/index.blade.php b/resources/views/devices/index.blade.php index c07b951d..30c44039 100644 --- a/resources/views/devices/index.blade.php +++ b/resources/views/devices/index.blade.php @@ -30,7 +30,7 @@
- + @@ -42,7 +42,7 @@ - + @@ -62,14 +62,14 @@ - - - - - -
Id Nome
Id Nome4 0.5 Attivo + Dettagli + @@ -84,14 +84,14 @@ 2 1 Attivo + Dettagli + @@ -106,14 +106,14 @@ 1 03 Attivo + Dettagli + @@ -150,7 +150,7 @@
- + @@ -165,7 +165,7 @@
- + @@ -177,7 +177,7 @@ - + @@ -197,14 +197,14 @@ - - - - - -
Id Nome
Id Nome4 0.5 Attivo + Dettagli + @@ -219,14 +219,14 @@ 2 1 Disattivo + Dettagli + @@ -241,14 +241,14 @@ 1 03 Attivo + Dettagli + @@ -285,7 +285,7 @@
-
+ diff --git a/resources/views/devices/show.blade.php b/resources/views/devices/show.blade.php index b1b72de6..c32e83c4 100644 --- a/resources/views/devices/show.blade.php +++ b/resources/views/devices/show.blade.php @@ -24,12 +24,12 @@ --}}
-

Informazioni dispositivo

+

Informazioni dispositivo

- + @@ -103,7 +103,7 @@
Id Nome
- + @@ -111,7 +111,7 @@ - + @@ -124,7 +124,7 @@ - - + - + - + - + - + - + - + - + - + - + - +
Id sensore Id dispositivoGrafico
Id sensore Id dispositivo1 1 Temperatura diff --git a/resources/views/settings/edit.blade.php b/resources/views/settings/edit.blade.php index a5fd93f9..d510a4b0 100644 --- a/resources/views/settings/edit.blade.php +++ b/resources/views/settings/edit.blade.php @@ -5,6 +5,14 @@

Impostazioni account

+
@@ -147,95 +155,95 @@
Status Dispositivo Sensore Soglia ValoreStatus
Status Dispositivo Sensore Soglia ValoreStatus
Attivo Disp1 Sens1 maggiore di 10Attivo
Attivo Disp1 Sens1 maggiore di 10Attivo
Attivo Disp1 Sens1 maggiore di 10Attivo
Attivo Disp1 Sens1 maggiore di 10Attivo
Attivo Disp1 Sens1 maggiore di 10Attivo
Attivo Disp1 Sens1 maggiore di 10Attivo
Attivo Disp1 Sens1 maggiore di 10Attivo
Attivo Disp1 Sens1 maggiore di 10Attivo
Attivo Disp1 Sens1 maggiore di 10Attivo
From 2a38c51131a5a7c72226ba603f430d50b4587ba4 Mon Sep 17 00:00:00 2001 From: Alessandro Date: Fri, 3 Apr 2020 14:34:15 +0200 Subject: [PATCH 005/124] Auto stash before merge of "feature/frontend" and "origin/feature/frontend" --- app/Http/Controllers/EntityController.php | 19 +- resources/views/auth/login.blade.php | 4 +- resources/views/auth/tfaLogin.blade.php | 6 +- resources/views/dashboard/index.blade.php | 18 +- resources/views/devices/create.blade.php | 8 +- resources/views/devices/edit.blade.php | 42 ++-- resources/views/devices/index.blade.php | 20 +- resources/views/devices/show.blade.php | 6 +- resources/views/entities/create.blade.php | 1 + resources/views/entities/edit.blade.php | 1 + resources/views/entities/index.blade.php | 91 +++++++ resources/views/entities/show.blade.php | 1 + resources/views/gateways/create.blade.php | 8 +- resources/views/gateways/edit.blade.php | 30 ++- resources/views/gateways/index.blade.php | 14 +- resources/views/layouts/sidebar.blade.php | 2 +- resources/views/sensors/show.blade.php | 2 +- resources/views/settings/edit.blade.php | 2 +- resources/views/users/create.blade.php | 166 ++++++------ resources/views/users/edit.blade.php | 293 +++++++++++----------- resources/views/users/index.blade.php | 16 +- resources/views/users/show.blade.php | 56 +++-- routes/breadcrumbs.php | 24 +- routes/web.php | 8 + 24 files changed, 491 insertions(+), 347 deletions(-) create mode 100644 resources/views/entities/create.blade.php create mode 100644 resources/views/entities/edit.blade.php create mode 100644 resources/views/entities/index.blade.php create mode 100644 resources/views/entities/show.blade.php diff --git a/app/Http/Controllers/EntityController.php b/app/Http/Controllers/EntityController.php index 159c8aa6..d2858125 100644 --- a/app/Http/Controllers/EntityController.php +++ b/app/Http/Controllers/EntityController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers; +use App\Models\Entity; use App\Providers\EntityServiceProvider; use Illuminate\Contracts\View\Factory; use Illuminate\View\View; @@ -28,7 +29,23 @@ public function __construct() */ public function index() { - $entities = $this->provider->findAll(); + //$entities = $this->provider->findAll(); + ///FAKER + $entity1 = new Entity(); + $arr = array_combine( + array('entityId', 'name', 'location', 'deleted'), + array("1", "CasaDiMariano", "Padova", false) + ); + $entity1->fill($arr); + $entity = new Entity(); + $arr = array_combine( + array('entityId', 'name', 'location', 'deleted'), + array("2", "CasaDiMarian2", "Padova", false) + ); + $entity->fill($arr); + $entities[] = $entity1; + $entities[] = $entity; + //TODO remove return view('entities.index', compact('entities')); } diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php index 44c395a5..fc86071a 100644 --- a/resources/views/auth/login.blade.php +++ b/resources/views/auth/login.blade.php @@ -42,7 +42,7 @@ class="form-control form-control-user @error('password') is-invalid @enderror"
@if (Route::has('password.request')) @@ -54,7 +54,7 @@ class="form-control form-control-user @error('password') is-invalid @enderror"
- Password dimenticata? Contatta il supporto tecnico! + Password dimenticata? Contatta il supporto tecnico!
diff --git a/resources/views/auth/tfaLogin.blade.php b/resources/views/auth/tfaLogin.blade.php index 3b01707b..7a36e30f 100644 --- a/resources/views/auth/tfaLogin.blade.php +++ b/resources/views/auth/tfaLogin.blade.php @@ -9,7 +9,7 @@
diff --git a/resources/views/dashboard/index.blade.php b/resources/views/dashboard/index.blade.php index 397ff90b..22a06a6a 100644 --- a/resources/views/dashboard/index.blade.php +++ b/resources/views/dashboard/index.blade.php @@ -17,7 +17,7 @@
{{count($usersActive)}}
- +
@@ -32,7 +32,7 @@
{{count($usersActiveEntity)}}
- +
@@ -47,7 +47,7 @@
{{count($users)}}
- +
@@ -62,7 +62,7 @@
{{count($usersEntity)}}
- +
@@ -79,7 +79,7 @@
{{count($devices)}}
- +
@@ -94,7 +94,7 @@
{{count($devicesEntity)}}
- +
@@ -109,7 +109,7 @@
{{count($entities)}}
- +
@@ -121,7 +121,7 @@
- + Dettagli utente
@@ -137,7 +137,7 @@
- + Supporto tecnico
diff --git a/resources/views/devices/create.blade.php b/resources/views/devices/create.blade.php index a4ae32c5..20a5ce7e 100644 --- a/resources/views/devices/create.blade.php +++ b/resources/views/devices/create.blade.php @@ -114,7 +114,7 @@ @can(['isAdmin'])

Puoi creare un nuovo sensore inserendo le informazioni elencate in seguito:

-
+ @csrf @method('POST')
@@ -139,10 +139,10 @@ @enderror
-
+
@@ -151,7 +151,7 @@ @endcan
-
+
diff --git a/resources/views/devices/edit.blade.php b/resources/views/devices/edit.blade.php index c8d52853..4140f3b6 100644 --- a/resources/views/devices/edit.blade.php +++ b/resources/views/devices/edit.blade.php @@ -5,22 +5,24 @@

Modifica dispositivo

-
- + + +
+ +
+
@@ -33,7 +35,7 @@ @can(['isAdmin'])

Puoi modificare un dispositivo inserendo le informazioni elencate in seguito:

- + @csrf @method('POST')
@@ -146,10 +148,10 @@ @enderror
-
+
@@ -158,7 +160,7 @@ @endcan
-
+
diff --git a/resources/views/devices/index.blade.php b/resources/views/devices/index.blade.php index 30c44039..705769f2 100644 --- a/resources/views/devices/index.blade.php +++ b/resources/views/devices/index.blade.php @@ -5,15 +5,15 @@

Dispositivi

- @can(['isAdmin']) -
- + + Torna indietro + +
+ @can(['isAdmin'])
@@ -132,14 +132,14 @@ {{$device->getEntity()->getName()}} - + Sensori - + Dettagli @@ -267,14 +267,14 @@ {{$device->getEntity()->getName()}} - + Sensori - + Dettagli diff --git a/resources/views/devices/show.blade.php b/resources/views/devices/show.blade.php index c32e83c4..f7114f6a 100644 --- a/resources/views/devices/show.blade.php +++ b/resources/views/devices/show.blade.php @@ -85,7 +85,7 @@ 'sensorId' => 1 ])}}" class="btn btn-success btn-icon-split"> - + Mostra grafico @@ -98,7 +98,7 @@ OPPURE
-
Lista sensori
+
Lista sensori
@@ -129,7 +129,7 @@ 'sensorId' => 1 ])}}" class="btn btn-success btn-icon-split"> - + Mostra grafico diff --git a/resources/views/entities/create.blade.php b/resources/views/entities/create.blade.php new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/resources/views/entities/create.blade.php @@ -0,0 +1 @@ + diff --git a/resources/views/entities/edit.blade.php b/resources/views/entities/edit.blade.php new file mode 100644 index 00000000..b3d9bbc7 --- /dev/null +++ b/resources/views/entities/edit.blade.php @@ -0,0 +1 @@ + +
+

Enti

+
+ + @can(['isAdmin']) + +
+
+
Lista enti
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + @foreach($gateways as $gateway) + + + + {{-- IL NUMERO DI DISPOSITIVI VA PRESO DINAMICAMENTE --}} + + + + + @endforeach + +
ID NomeNumero Dispositivi Configurazione
ID NomeNumero Dispositivi Configurazione
{{$gateway->gatewayId}}{{$gateway->name}}2 + + + + Dettagli + + + + + + Modifica + + + + + + Invia + +
+
+
+
+ @endcan +
+@endsection + diff --git a/resources/views/entities/show.blade.php b/resources/views/entities/show.blade.php new file mode 100644 index 00000000..b3d9bbc7 --- /dev/null +++ b/resources/views/entities/show.blade.php @@ -0,0 +1 @@ +

Puoi creare un nuovo gateway inserendo le informazioni elencate in seguito:

- + @csrf @method('POST')
@@ -43,12 +43,12 @@ @endcan
- diff --git a/resources/views/gateways/edit.blade.php b/resources/views/gateways/edit.blade.php index f50209b7..baa5661c 100644 --- a/resources/views/gateways/edit.blade.php +++ b/resources/views/gateways/edit.blade.php @@ -5,14 +5,24 @@

Modifica gateway

- + + + +
+ +
@@ -25,7 +35,7 @@ @can(['isAdmin'])

Puoi modificare un gateway inserendo le informazioni elencate in seguito:

- + @csrf @method('POST')
@@ -43,7 +53,7 @@ @endcan
-
+
diff --git a/resources/views/gateways/index.blade.php b/resources/views/gateways/index.blade.php index f9bc9fc2..11ef7df9 100644 --- a/resources/views/gateways/index.blade.php +++ b/resources/views/gateways/index.blade.php @@ -5,15 +5,15 @@

Gateway

- @can(['isAdmin']) -
- + + Torna indietro + +
+ @can(['isAdmin'])
-
Lista gateway
+
Lista gateway
diff --git a/resources/views/layouts/sidebar.blade.php b/resources/views/layouts/sidebar.blade.php index eb1c98af..3c5a8e61 100644 --- a/resources/views/layouts/sidebar.blade.php +++ b/resources/views/layouts/sidebar.blade.php @@ -79,7 +79,7 @@ diff --git a/resources/views/sensors/show.blade.php b/resources/views/sensors/show.blade.php index f9b6b62c..8eefebd2 100644 --- a/resources/views/sensors/show.blade.php +++ b/resources/views/sensors/show.blade.php @@ -10,7 +10,7 @@
-
Dati real-time
+
Dati real-time
-
Notifiche alert
+
Notifiche alert
diff --git a/resources/views/users/create.blade.php b/resources/views/users/create.blade.php index d0881c80..d27f63bd 100644 --- a/resources/views/users/create.blade.php +++ b/resources/views/users/create.blade.php @@ -1,50 +1,36 @@ @extends('layouts.app') @section('breadcrumbs', Breadcrumbs::render('users.create')) @section('content') -
-
-
- - Modifica informazioni -
+
+
+

Creazione Utente

- @canany(['isAdmin', 'isMod']) -
-

Puoi modificare le informazioni dell'account cambiando i campi contenuti di seguito.

- - @csrf - @method('POST') -
- -
- - @error('name') - - {{ $message }} - - @enderror -
-
-
- -
- - @error('surname') - - {{ $message }} + -
- @can('isAdmin') + Torna indietro + +
+ @canany(['isAdmin', 'isMod']) +
+
+
+ + Modifica informazioni +
+
+
+

Puoi modificare le informazioni dell'account cambiando i campi contenuti di seguito.

+ + @csrf + @method('POST')
- +
- - @error('type') + + @error('name') {{ $message }} @@ -52,65 +38,69 @@
- +
- - @error('entityId') + + @error('surname') {{ $message }} @enderror
- @endcan -
- -
- - @error('email') - - {{ $message }} - - @enderror -
-
-
- -
- - @error('password_check') - - {{ $message }} - - @enderror -
-
- -
+
+
+ +
+ + @error('entityId') + + {{ $message }} - Reset - - - - + @enderror +
+
+ @endcan + -
- - @endcanany + + @endcanany +
+
+ +
@endsection diff --git a/resources/views/users/edit.blade.php b/resources/views/users/edit.blade.php index 887f1dac..d9c4cfa3 100644 --- a/resources/views/users/edit.blade.php +++ b/resources/views/users/edit.blade.php @@ -1,180 +1,169 @@ @extends('layouts.app') @section('breadcrumbs', Breadcrumbs::render('users.edit', $user->userId)) @section('content') -
-
-
- - Modifica informazioni -
+
+
+

Modifica profilo

-
- @if($user->typetype) -

Puoi modificare le informazioni dell'account cambiando i campi contenuti di seguito.

-
- @csrf - @method('PUT') - @canany(['isAdmin', 'isMod']) -
- -
- - @error('name') - - {{ $message }} - - @enderror -
-
-
- -
- - @error('surname') - - {{ $message }} - - @enderror -
-
- @endcanany - @can('isAdmin') -
- -
- - @error('type') - - {{ $message }} - - @enderror + +
+
+
+ + Modifica informazioni +
+
+
+ @if($user->typetype) +

Puoi modificare le informazioni dell'account cambiando i campi contenuti di seguito.

+ + @csrf + @method('PUT') + @canany(['isAdmin', 'isMod']) +
+ +
+ + @error('name') + + {{ $message }} + + @enderror +
-
- @endcan - -
- -
- - @error('email') - - {{ $message }} - - @enderror -
-
- @can('isAdmin') -
- -
- - @error('telegramName') - +
+ +
+ + @error('surname') + {{ $message }} - @enderror + @enderror +
-
-
- -
- - @error('telegramChat') - + @endcanany + @can('isAdmin') +
+ +
+ + @error('type') + {{ $message }} - @enderror + @enderror +
-
+ @endcan +
- +
- - @error('password') + + @error('email') {{ $message }} @enderror
- @endcan - - @canany(['isAdmin', 'isMod']) -
-
- - Disattivazione + @can('isAdmin') +
+ +
+ + @error('telegramName') + + {{ $message }} + + @enderror +
-
-
- deleted || old('deleted')) checked @endif> - +
+ +
+ + @error('telegramChat') + + {{ $message }} + + @enderror
-
- @endcanany - @can('isAdmin') -
-
- - Sicurezza account +
+ +
+ + @error('password') + + {{ $message }} + + @enderror +
-
-
- tfa || old('tfa')) checked @endif> - + @endcan + + @canany(['isAdmin', 'isMod']) +
+
+ + Disattivazione +
+
+
+ deleted || old('deleted')) checked @endif> + +
-
-
-

- *Per attivare l'autenticazione a due fattori è necessario inserire lo username Telegram - e avviare il bot direttamente dall'applicazione, inserendo il comando /start in chat. -

-
- @endcan -
- -
- - @error('password_check') - - {{ $message }} - - @enderror -
-
- - - - - - - Annulla - -
-
- - @else -

Non puoi modificare un'utente con il tuo stesso ruolo!

- @endif + @endcanany + @can('isAdmin') +
+
+ + Sicurezza account +
+
+
+ tfa || old('tfa')) checked @endif> + +
+
+
+
+

+ *Per attivare l'autenticazione a due fattori è necessario inserire lo username Telegram + e avviare il bot direttamente dall'applicazione, inserendo il comando /start in chat. +

+ @endcan + + @else +

Non puoi modificare un'utente con il tuo stesso ruolo!

+ @endif +
+
+
+
@endsection diff --git a/resources/views/users/index.blade.php b/resources/views/users/index.blade.php index d6782501..26379a60 100644 --- a/resources/views/users/index.blade.php +++ b/resources/views/users/index.blade.php @@ -5,11 +5,19 @@

Gestione utenti

+ @canany(['isAdmin', 'isMod'])
- + Aggiungi @@ -62,7 +70,7 @@ @endif - + Dettagli @@ -73,7 +81,7 @@ - + Ripristina @@ -85,7 +93,7 @@ - + Elimina diff --git a/resources/views/users/show.blade.php b/resources/views/users/show.blade.php index b2c611a5..fcdd7557 100644 --- a/resources/views/users/show.blade.php +++ b/resources/views/users/show.blade.php @@ -2,34 +2,40 @@ @section('breadcrumbs', Breadcrumbs::render('users.show', $user->userId)) @section('content')
-
-
-

Profilo

-
- @if($user->typetype) - - @endif +
+

Profilo

+ + @if($user->typetype) + + @endif
- + Dettagli
-

ID : {{$user->userId}}

-

Nome e cognome : {{$user->name . ' ' . $user->surname}}

-

Ruolo : {{$user->getRole()}}

+

ID : {{$user->userId}}

+

Nome e cognome : {{$user->name . ' ' . $user->surname}}

+

Ruolo : {{$user->getRole()}}

@@ -37,14 +43,14 @@
- + Contatti
-

Email : {{$user->email}}

-

Username Telegram : {{$user->telegramName?? 'NA'}}

-

Chat Telegram : {{$user->telegramChat?? 'NA'}}

+

Email : {{$user->email}}

+

Username Telegram : {{$user->telegramName?? 'NA'}}

+

Chat Telegram : {{$user->telegramChat?? 'NA'}}

@@ -52,18 +58,18 @@
- + Sicurezza
-

Sicurezza account : +

Sicurezza account : @if($user->tfa) Attivo @else Disattivo @endif

-

Stato : +

Stato : @if($user->deleted) Disattivo @else diff --git a/routes/breadcrumbs.php b/routes/breadcrumbs.php index b839b893..c90cfc1a 100644 --- a/routes/breadcrumbs.php +++ b/routes/breadcrumbs.php @@ -68,10 +68,30 @@ }); Breadcrumbs::for('gateways.create', function ($trail) { $trail->parent('gateways'); - $trail->push('Creazione', route('gateways.index')); + $trail->push('Creazione', route('gateways.create')); }); Breadcrumbs::for('gateways.edit', function ($trail, $gatewayId) { $trail->parent('gateways'); - $trail->push('Modifica '. $gatewayId, route('gateways.index', ['gatewayId' => $gatewayId])); + $trail->push('Modifica '. $gatewayId, route('gateways.edit', ['gatewayId' => $gatewayId])); }); +// Enti +Breadcrumbs::for('entities', function ($trail) { + $trail->parent('home'); + $trail->push('Gestione enti', route('entities.index')); +}); +/* +Breadcrumbs::for('entities.show', function ($trail, $entityId) { + $trail->parent('entities'); + $trail->push('Ente ' . $entityId, route('entities.show', ['entityId' => $entityId])); +}); +Breadcrumbs::for('entities.create', function ($trail) { + $trail->parent('entities'); + $trail->push('Creazione', route('entities.create')); +}); +Breadcrumbs::for('entities.edit', function ($trail, $entityId) { + $trail->parent('entities'); + $trail->push('Modifica '. $entityId, route('entities.edit', ['gatewayId' => $entityId])); +}); +*/ + diff --git a/routes/web.php b/routes/web.php index a56ee35e..8bacf2a7 100644 --- a/routes/web.php +++ b/routes/web.php @@ -37,13 +37,17 @@ //routes per gestione gateways Route::get('/gateways', 'GatewayController@index')->name('gateways.index');//TODO Route::get('/gateways/create', 'GatewayController@create')->name('gateways.create');//TODO +//Route::get('/gateways', 'GatewayController@store')->name('gateways.store');//TODO Route::get('/gateways/{gatewayId}', 'GatewayController@show')->name('gateways.show');//TODO +//Route::get('/gateways/{gatewayId}', 'GatewayController@update')->name('gateways.update');//TODO Route::get('/gateways/{gatewayId}/edit', 'GatewayController@edit')->name('gateways.edit');//TODO //routes per gestione devices Route::get('/devices', 'DeviceController@index')->name('devices.index'); Route::get('/devices/create', 'DeviceController@create')->name('devices.create');//TODO +//Route::get('/devices', 'DeviceController@store')->name('devices.store');//TODO Route::get('/devices/{deviceId}', 'DeviceController@show')->name('devices.show');//TODO +//Route::get('/devices/{deviceId}', 'DeviceController@update')->name('devices.update');//TODO Route::get('/devices/{deviceId}/edit', 'DeviceController@edit')->name('devices.edit');//TODO @@ -54,7 +58,11 @@ //routes per gestione entity Route::get('/entities', 'EntityController@index')->name('entities.index');//TODO +//Route::get('/entities/create', 'EntityController@create')->name('entities.create');//TODO +//Route::get('/entities', 'EntityController@store')->name('entities.store');//TODO Route::get('/entity/{entityId}', 'EntityController@show')->name('entities.show');//TODO +//Route::get('/entity/{entityId}', 'EntityController@update')->name('entities.update');//TODO +//Route::get('/entity/{entityId}/edit', 'EntityController@edit')->name('entities.edit');//TODO //data From ebf35c931e712f07a013a52b983c6b8ad8e70c36 Mon Sep 17 00:00:00 2001 From: Alessandro Date: Fri, 3 Apr 2020 15:06:09 +0200 Subject: [PATCH 006/124] Aggiunta bozza pagine show e index enti --- app/Http/Controllers/EntityController.php | 10 ++- resources/views/entities/index.blade.php | 40 ++++++------ resources/views/entities/show.blade.php | 79 ++++++++++++++++++++++- routes/breadcrumbs.php | 7 +- routes/web.php | 2 +- 5 files changed, 110 insertions(+), 28 deletions(-) diff --git a/app/Http/Controllers/EntityController.php b/app/Http/Controllers/EntityController.php index d2858125..06748e77 100644 --- a/app/Http/Controllers/EntityController.php +++ b/app/Http/Controllers/EntityController.php @@ -57,7 +57,15 @@ public function index() */ public function show($entity) { - $entity = $this->provider->retrieveById($entity); + //$entity = $this->provider->retrieveById($entity); + //FAKER + $entity = new Entity(); + $arr = array_combine( + array('entityId', 'name', 'location', 'deleted'), + array("1", "CasaDiMariano", "Padova", false) + ); + $entity->fill($arr); + //TODO remove return view('entities.show', compact('entity')); } } diff --git a/resources/views/entities/index.blade.php b/resources/views/entities/index.blade.php index e5c4c96d..5e6bd061 100644 --- a/resources/views/entities/index.blade.php +++ b/resources/views/entities/index.blade.php @@ -31,32 +31,35 @@ - - + + - - + - - - + + - + - @foreach($gateways as $gateway) + @foreach($entities as $entity) - - - {{-- IL NUMERO DI DISPOSITIVI VA PRESO DINAMICAMENTE --}} - + - - @endforeach diff --git a/resources/views/entities/show.blade.php b/resources/views/entities/show.blade.php index b3d9bbc7..975e159d 100644 --- a/resources/views/entities/show.blade.php +++ b/resources/views/entities/show.blade.php @@ -1 +1,78 @@ -name)) +@section('content') +
+
+

Informazioni ente

+
+
+ +
+
+
+

Informazioni ente

+
+
+
+
ID NomeNumero DispositiviLuogoStatus Configurazione
ID NomeNumero Dispositivi LuogoStatus Configurazione
{{$gateway->gatewayId}}{{$gateway->name}}2Eliminato + @else + Attivo + @endif + @@ -64,20 +67,13 @@ Dettagli + Modifica - - - - Invia - -
+ + + + + + + + + + + + +
NomeLuogo
{{$entity->name}}{{$entity->location}}
+

+
+
+
+
+
Lista utenti
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NomeCognomeEmail
NomeCognomeEmail
ProvaProvinaprova@provina.com
Prova1Provina1prova1@provina.com
Prova2Provina2prova2@provina.com
+
+
+
+
+@endsection + diff --git a/routes/breadcrumbs.php b/routes/breadcrumbs.php index c90cfc1a..ce1c6081 100644 --- a/routes/breadcrumbs.php +++ b/routes/breadcrumbs.php @@ -80,11 +80,12 @@ $trail->parent('home'); $trail->push('Gestione enti', route('entities.index')); }); -/* -Breadcrumbs::for('entities.show', function ($trail, $entityId) { + +Breadcrumbs::for('entities.show', function ($trail, $entityName) { $trail->parent('entities'); - $trail->push('Ente ' . $entityId, route('entities.show', ['entityId' => $entityId])); + $trail->push($entityName, route('entities.show', ['entityName' => $entityName])); }); +/* Breadcrumbs::for('entities.create', function ($trail) { $trail->parent('entities'); $trail->push('Creazione', route('entities.create')); diff --git a/routes/web.php b/routes/web.php index 8bacf2a7..b2debbf0 100644 --- a/routes/web.php +++ b/routes/web.php @@ -60,7 +60,7 @@ Route::get('/entities', 'EntityController@index')->name('entities.index');//TODO //Route::get('/entities/create', 'EntityController@create')->name('entities.create');//TODO //Route::get('/entities', 'EntityController@store')->name('entities.store');//TODO -Route::get('/entity/{entityId}', 'EntityController@show')->name('entities.show');//TODO +Route::get('/entity/{entityName}', 'EntityController@show')->name('entities.show');//TODO //Route::get('/entity/{entityId}', 'EntityController@update')->name('entities.update');//TODO //Route::get('/entity/{entityId}/edit', 'EntityController@edit')->name('entities.edit');//TODO From 42cfdd9473ab73cf01a2a6b137543c2fb7879767 Mon Sep 17 00:00:00 2001 From: Alessandro Date: Fri, 3 Apr 2020 15:08:32 +0200 Subject: [PATCH 007/124] fix route entities.show --- resources/views/entities/index.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/entities/index.blade.php b/resources/views/entities/index.blade.php index 5e6bd061..ea28aa03 100644 --- a/resources/views/entities/index.blade.php +++ b/resources/views/entities/index.blade.php @@ -59,7 +59,7 @@ @endif From e9b7d1b03f950ba015be96a92327dbdf5b8dfd24 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Fri, 3 Apr 2020 15:37:11 +0200 Subject: [PATCH 008/124] aggiunta ip alle richieste --- app/Providers/DeviceServiceProvider.php | 9 +++++--- app/Providers/EntityServiceProvider.php | 12 +++++++---- app/Providers/GatewayServiceProvider.php | 6 ++++-- app/Providers/SensorServiceProvider.php | 26 +++++++++++------------ app/Providers/UserServiceProvider.php | 26 ++++++++++++++++------- resources/views/dashboard/index.blade.php | 2 +- 6 files changed, 49 insertions(+), 32 deletions(-) diff --git a/app/Providers/DeviceServiceProvider.php b/app/Providers/DeviceServiceProvider.php index 31b2b23b..7e9a40ac 100644 --- a/app/Providers/DeviceServiceProvider.php +++ b/app/Providers/DeviceServiceProvider.php @@ -46,7 +46,8 @@ public function find($identifier) try { $response = json_decode($this->request->get($identifier, [ 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token') + 'Authorization' => 'Bearer ' . session()->get('token'), + 'X-Forwarded-For' => request()->ip() ] ])->getBody()); $device = new Device(); @@ -66,7 +67,8 @@ public function findAll() try { $response = json_decode($this->request->get('', [ 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token') + 'Authorization' => 'Bearer ' . session()->get('token'), + 'X-Forwarded-For' => request()->ip() ] ])->getBody()); $devices = []; @@ -104,7 +106,8 @@ public function findAllFromEntity($entity) try { $response = json_decode($this->request->get('', [ 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token') + 'Authorization' => 'Bearer ' . session()->get('token'), + 'X-Forwarded-For' => request()->ip() ], 'query' => 'entityId=' . $entity ])->getBody()); diff --git a/app/Providers/EntityServiceProvider.php b/app/Providers/EntityServiceProvider.php index 7b2b304c..5131bb41 100644 --- a/app/Providers/EntityServiceProvider.php +++ b/app/Providers/EntityServiceProvider.php @@ -46,7 +46,8 @@ public function retrieveById($identifier) try { $response = json_decode($this->request->get($identifier, [ 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token') + 'Authorization' => 'Bearer ' . session()->get('token'), + 'X-Forwarded-For' => request()->ip() ] ])->getBody()); $entity = new Entity(); @@ -80,7 +81,8 @@ public function findAll() try { $response = json_decode($this->request->get('', [ 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token') + 'Authorization' => 'Bearer ' . session()->get('token'), + 'X-Forwarded-For' => request()->ip() ] ])->getBody()); $entities = []; @@ -106,7 +108,8 @@ public function findFromDevice($deviceId) try { $response = json_decode($this->request->get('entities', [ 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token') + 'Authorization' => 'Bearer ' . session()->get('token'), + 'X-Forwarded-For' => request()->ip() ], 'query' => 'deviceId=' . $deviceId ])->getBody()); @@ -129,7 +132,8 @@ public function findFromUser($userId) try { $response = json_decode($this->request->get('entities', [ 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token') + 'Authorization' => 'Bearer ' . session()->get('token'), + 'X-Forwarded-For' => request()->ip() ], 'query' => 'userId=' . $userId ])->getBody()); diff --git a/app/Providers/GatewayServiceProvider.php b/app/Providers/GatewayServiceProvider.php index 1bdacf51..db994adc 100644 --- a/app/Providers/GatewayServiceProvider.php +++ b/app/Providers/GatewayServiceProvider.php @@ -44,7 +44,8 @@ public function retrieveById($identifier) try { $response = json_decode($this->request->get($identifier, [ 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token') + 'Authorization' => 'Bearer ' . session()->get('token'), + 'X-Forwarded-For' => request()->ip() ] ])->getBody()); $gateway = new Gateway(); @@ -64,7 +65,8 @@ public function findAll() try { $response = json_decode($this->request->get('', [ 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token') + 'Authorization' => 'Bearer ' . session()->get('token'), + 'X-Forwarded-For' => request()->ip() ] ])->getBody()); $gateways = []; diff --git a/app/Providers/SensorServiceProvider.php b/app/Providers/SensorServiceProvider.php index 44083f69..31c2c17f 100644 --- a/app/Providers/SensorServiceProvider.php +++ b/app/Providers/SensorServiceProvider.php @@ -44,7 +44,8 @@ public function find($deviceId, $sensorId) try { $response = json_decode($this->request->get($deviceId . '/sensor/' . $sensorId, [ 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token') + 'Authorization' => 'Bearer ' . session()->get('token'), + 'X-Forwarded-For' => request()->ip() ], ])->getBody()); $sensor = new Sensor(); @@ -52,10 +53,8 @@ public function find($deviceId, $sensorId) return $sensor; } catch (RequestException $e) { $this->isExpired($e); - //abort($e->getCode(), $e->getResponse()->getReasonPhrase()); - $s = new Sensor(); - $s->fill(array_combine(['sensorId', 'type', 'deviceSensorId', 'deviceId'], [1, 'boh', 1, 1])); - return $s;//null; + abort($e->getCode(), $e->getResponse()->getReasonPhrase()); + return null; } } @@ -80,7 +79,8 @@ public function findAll() try { $response = json_decode($this->request->get('sensors', [ 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token') + 'Authorization' => 'Bearer ' . session()->get('token'), + 'X-Forwarded-For' => request()->ip() ] ])->getBody()); $sensors = []; @@ -106,7 +106,8 @@ public function findAllFromDevice($deviceId) try { $response = json_decode($this->request->get($deviceId . '/sensors', [ 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token') + 'Authorization' => 'Bearer ' . session()->get('token'), + 'X-Forwarded-For' => request()->ip() ] ])->getBody()); $sensors = []; @@ -118,12 +119,8 @@ public function findAllFromDevice($deviceId) return $sensors; } catch (RequestException $e) { $this->isExpired($e); - //abort($e->getCode(), $e->getResponse()->getReasonPhrase()); - $s1 = new Sensor(); - $s2 = new Sensor(); - $s1->fill(array_combine(['sensorId', 'type', 'deviceSensorId', 'deviceId'], [1, 'boh', 1, 1])); - $s2->fill(array_combine(['sensorId', 'type', 'deviceSensorId', 'deviceId'], [2, 'buh', 2, 1])); - return [$s1, $s2];//null; + abort($e->getCode(), $e->getResponse()->getReasonPhrase()); + return null; } } @@ -137,7 +134,8 @@ public function fetch($device, $sensorId) try { return json_decode($this->request->get('sensor', [ 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token') + 'Authorization' => 'Bearer ' . session()->get('token'), + 'X-Forwarded-For' => request()->ip() ] ])->getBody()); } catch (RequestException $e) { diff --git a/app/Providers/UserServiceProvider.php b/app/Providers/UserServiceProvider.php index 10597fcf..aefead88 100644 --- a/app/Providers/UserServiceProvider.php +++ b/app/Providers/UserServiceProvider.php @@ -49,7 +49,8 @@ public function retrieveById($identifier) try { $response = json_decode($this->request->get('users/' . $identifier, [ 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token') + 'Authorization' => 'Bearer ' . session()->get('token'), + 'X-Forwarded-For' => request()->ip() ] ])->getBody()); $user = new User(); @@ -58,6 +59,7 @@ public function retrieveById($identifier) } catch (RequestException $e) { $this->isExpired($e); abort($e->getCode(), $e->getResponse()->getReasonPhrase()); + return null; } } @@ -121,7 +123,8 @@ private function retriveByCode(Client $request, $credentials) { $response = json_decode($request->post('auth/tfa', [ 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token') + 'Authorization' => 'Bearer ' . session()->get('token'), + 'X-Forwarded-For' => request()->ip() ], 'body' => '{"auth_code":"' . $credentials["code"] . '"}' ])->getBody()); @@ -142,6 +145,9 @@ private function retriveByCode(Client $request, $credentials) private function retriveByCred(Client $request, $credentials) { $response = json_decode($request->post('auth', [ + 'headers' => [ + 'X-Forwarded-For' => request()->ip() + ], 'body' => '{"username":"' . $credentials["email"] . '","password":"' . $credentials["password"] . '"}' ])->getBody()); @@ -177,7 +183,8 @@ public function findAll() try { $response = json_decode($this->request->get('users', [ 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token') + 'Authorization' => 'Bearer ' . session()->get('token'), + 'X-Forwarded-For' => request()->ip() ] ])->getBody()); $users = []; @@ -202,7 +209,8 @@ public function findAllFromEntity($entityId) try { $response = json_decode($this->request->get('users', [ 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token') + 'Authorization' => 'Bearer ' . session()->get('token'), + 'X-Forwarded-For' => request()->ip() ], 'query' => 'entityId=' . $entityId ])->getBody()); @@ -228,7 +236,8 @@ public function update(string $who, string $body) try { $response = json_decode($this->request->put('/users/' . $who, [ 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token') + 'Authorization' => 'Bearer ' . session()->get('token'), + 'X-Forwarded-For' => request()->ip() ], 'body' => $body ])->getBody()); @@ -250,7 +259,8 @@ public function destroy(string $who) try { $this->request->delete('/users/' . $who, [ 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token') + 'Authorization' => 'Bearer ' . session()->get('token'), + 'X-Forwarded-For' => request()->ip() ] ]); } catch (RequestException $e) { @@ -265,10 +275,10 @@ public function destroy(string $who) public function store(string $body) { try { - //dd($body); $this->request->post('users', [ 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token') + 'Authorization' => 'Bearer ' . session()->get('token'), + 'X-Forwarded-For' => request()->ip() ], 'body' => $body ]); diff --git a/resources/views/dashboard/index.blade.php b/resources/views/dashboard/index.blade.php index 397ff90b..6dbe2ceb 100644 --- a/resources/views/dashboard/index.blade.php +++ b/resources/views/dashboard/index.blade.php @@ -129,7 +129,7 @@
  • Nome e Cognome: {{$user->name}} {{$user->surname}}
  • Indirizzo email: {{$user->email}}
  • Ente di appartenenza: NOME ENTE
  • -
  • Indirizzo IP:   {{ $_SERVER['REMOTE_ADDR'] }}
  • +
  • Indirizzo IP:   {{ request()->ip() }}
  • From ab98f5b0502b1708a05905d0a3f69773830d52dd Mon Sep 17 00:00:00 2001 From: Alessandro Date: Fri, 3 Apr 2020 16:12:16 +0200 Subject: [PATCH 009/124] Aggiunte pagine mancanti per Enti Anche fix vari --- app/Http/Controllers/EntityController.php | 20 ++++++ resources/views/entities/create.blade.php | 67 +++++++++++++++++++ resources/views/entities/edit.blade.php | 78 ++++++++++++++++++++++- resources/views/entities/index.blade.php | 6 +- resources/views/gateways/create.blade.php | 1 - resources/views/views/index.blade.php | 0 routes/breadcrumbs.php | 9 +-- routes/web.php | 7 +- 8 files changed, 174 insertions(+), 14 deletions(-) create mode 100644 resources/views/views/index.blade.php diff --git a/app/Http/Controllers/EntityController.php b/app/Http/Controllers/EntityController.php index 06748e77..14754099 100644 --- a/app/Http/Controllers/EntityController.php +++ b/app/Http/Controllers/EntityController.php @@ -22,6 +22,26 @@ public function __construct() $this->provider = new EntityServiceProvider(); } + public function create() + { + $entities = $this->provider->findAll(); + return view('entities.create', compact(['entities'])); + } + + public function edit($entity) + { + //$device = $this->provider->find($device); + ///FAKER + $entity = new Entity(); + $arr = array_combine( + array('entityId', 'name', 'location', 'deleted'), + array("1", "CasaDiMariano", "Padova", false) + ); + $entity->fill($arr); + //TODO remove + return view('entities.edit', compact('entity')); + } + /** * Display a listing of the resource. * diff --git a/resources/views/entities/create.blade.php b/resources/views/entities/create.blade.php index 8b137891..ce55af5f 100644 --- a/resources/views/entities/create.blade.php +++ b/resources/views/entities/create.blade.php @@ -1 +1,68 @@ +@extends('layouts.app') +@section('breadcrumbs', Breadcrumbs::render('entities.create')) +@section('content') +
    +
    +

    Creazione ente

    +
    +
    +
    +
    +
    + + + + Creazione ente +
    +
    + @can(['isAdmin']) +
    +

    Puoi creare un nuovo ente inserendo le informazioni elencate in seguito:

    +
    + @csrf + @method('POST') +
    + +
    + + @error('entityName') + + {{ $message }} + + @enderror +
    +
    +
    + +
    + + @error('entityLocation') + + {{ $message }} + + @enderror +
    +
    +
    + @endcan +
    +
    + +
    + +@endsection diff --git a/resources/views/entities/edit.blade.php b/resources/views/entities/edit.blade.php index b3d9bbc7..f01b28dd 100644 --- a/resources/views/entities/edit.blade.php +++ b/resources/views/entities/edit.blade.php @@ -1 +1,77 @@ -name)) +@section('content') +
    +
    +

    Modifica ente

    +
    + + @can(['isAdmin']) +
    + +
    +
    +
    +
    + + + + Modifica ente +
    +
    +
    +

    Puoi creare un nuovo ente inserendo le informazioni elencate in seguito:

    +
    + @csrf + @method('POST') +
    + +
    + + @error('entityName') + + {{ $message }} + + @enderror +
    +
    +
    + +
    + + @error('entityLocation') + + {{ $message }} + + @enderror +
    +
    +
    + @endcan +
    +
    + +
    + + +@endsection + diff --git a/resources/views/entities/index.blade.php b/resources/views/entities/index.blade.php index ea28aa03..1bc41d5e 100644 --- a/resources/views/entities/index.blade.php +++ b/resources/views/entities/index.blade.php @@ -15,7 +15,7 @@
    @can(['isAdmin'])
    -
    Lista enti
    +
    Lista enti
    @@ -67,7 +67,7 @@ Dettagli - + diff --git a/resources/views/gateways/create.blade.php b/resources/views/gateways/create.blade.php index 9c317b2f..92355b42 100644 --- a/resources/views/gateways/create.blade.php +++ b/resources/views/gateways/create.blade.php @@ -55,4 +55,3 @@ @endsection - diff --git a/resources/views/views/index.blade.php b/resources/views/views/index.blade.php new file mode 100644 index 00000000..e69de29b diff --git a/routes/breadcrumbs.php b/routes/breadcrumbs.php index ce1c6081..df82de9d 100644 --- a/routes/breadcrumbs.php +++ b/routes/breadcrumbs.php @@ -85,14 +85,15 @@ $trail->parent('entities'); $trail->push($entityName, route('entities.show', ['entityName' => $entityName])); }); -/* + Breadcrumbs::for('entities.create', function ($trail) { $trail->parent('entities'); $trail->push('Creazione', route('entities.create')); }); -Breadcrumbs::for('entities.edit', function ($trail, $entityId) { + +Breadcrumbs::for('entities.edit', function ($trail, $entityName) { $trail->parent('entities'); - $trail->push('Modifica '. $entityId, route('entities.edit', ['gatewayId' => $entityId])); + $trail->push('Modifica '. $entityName, route('entities.edit', ['entityName' => $entityName])); }); -*/ + diff --git a/routes/web.php b/routes/web.php index b2debbf0..d005c1a1 100644 --- a/routes/web.php +++ b/routes/web.php @@ -50,20 +50,17 @@ //Route::get('/devices/{deviceId}', 'DeviceController@update')->name('devices.update');//TODO Route::get('/devices/{deviceId}/edit', 'DeviceController@edit')->name('devices.edit');//TODO - //routes per gestione sensori Route::get('/devices/{deviceId}/sensors', 'SensorController@index')->name('sensors.index');//TODO Route::get('/devices/{deviceId}/sensors/{sensorId}', 'SensorController@show')->name('sensors.show');//TODO - //routes per gestione entity Route::get('/entities', 'EntityController@index')->name('entities.index');//TODO -//Route::get('/entities/create', 'EntityController@create')->name('entities.create');//TODO +Route::get('/entities/create', 'EntityController@create')->name('entities.create');//TODO //Route::get('/entities', 'EntityController@store')->name('entities.store');//TODO Route::get('/entity/{entityName}', 'EntityController@show')->name('entities.show');//TODO //Route::get('/entity/{entityId}', 'EntityController@update')->name('entities.update');//TODO -//Route::get('/entity/{entityId}/edit', 'EntityController@edit')->name('entities.edit');//TODO - +Route::get('/entity/{entityName}/edit', 'EntityController@edit')->name('entities.edit');//TODO //data Route::get('/data/devices/{deviceId}/sensors/{sensorId}', 'SensorController@fetch')->name('sensors.fetch');//TODO From b25f0dd45ce0b217896e428c59c49b345f0dfdaf Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Fri, 3 Apr 2020 17:34:21 +0200 Subject: [PATCH 010/124] aggiunto il controller e i provider per views --- app/Http/Controllers/ViewController.php | 37 +++++++++++ app/Models/View.php | 10 +++ app/Models/ViewGraph.php | 10 +++ app/Providers/BasicProvider.php | 34 ++++++++++ app/Providers/DeviceServiceProvider.php | 40 ++---------- app/Providers/EntityServiceProvider.php | 50 +++------------ app/Providers/GatewayServiceProvider.php | 19 ++---- app/Providers/SensorServiceProvider.php | 46 ++----------- app/Providers/UserServiceProvider.php | 69 ++++---------------- app/Providers/ViewGraphProvider.php | 81 +++++++++++++++++++++++ app/Providers/ViewProvider.php | 82 ++++++++++++++++++++++++ resources/views/views/index.blade.php | 1 + resources/views/views/show.blade.php | 1 + routes/web.php | 6 +- 14 files changed, 295 insertions(+), 191 deletions(-) create mode 100644 app/Http/Controllers/ViewController.php create mode 100644 app/Models/View.php create mode 100644 app/Models/ViewGraph.php create mode 100644 app/Providers/BasicProvider.php create mode 100644 app/Providers/ViewGraphProvider.php create mode 100644 app/Providers/ViewProvider.php create mode 100644 resources/views/views/index.blade.php create mode 100644 resources/views/views/show.blade.php diff --git a/app/Http/Controllers/ViewController.php b/app/Http/Controllers/ViewController.php new file mode 100644 index 00000000..e683be59 --- /dev/null +++ b/app/Http/Controllers/ViewController.php @@ -0,0 +1,37 @@ +middleware('auth'); + $this->viewProvider = new ViewProvider(); + $this->viewGraphProvider = new ViewGraphProvider(); + } + + public function index() + { + $views = $this->viewProvider->findAllFromUser(Auth::id()); + return view('views.index', compact('views')); + } + + public function show($viewId) + { + $graphs = $this->viewGraphProvider->findAllFromView($viewId); + return view('views.show', compact('graphs')); + } +} diff --git a/app/Models/View.php b/app/Models/View.php new file mode 100644 index 00000000..3e3c1fab --- /dev/null +++ b/app/Models/View.php @@ -0,0 +1,10 @@ +getCode() == 419/*fai il controllo del token*/) { + session()->invalidate(); + session()->flush(); + return redirect('login'); + } + } + + protected function setHeaders() + { + return [ + 'headers' => [ + 'Authorization' => 'Bearer ' . session()->get('token'), + 'X-Forwarded-For' => request()->ip() + ] + ]; + } +} diff --git a/app/Providers/DeviceServiceProvider.php b/app/Providers/DeviceServiceProvider.php index 7e9a40ac..490a457f 100644 --- a/app/Providers/DeviceServiceProvider.php +++ b/app/Providers/DeviceServiceProvider.php @@ -5,9 +5,6 @@ use App\Models\Device; use GuzzleHttp\Client; use GuzzleHttp\Exception\RequestException; -use Illuminate\Http\RedirectResponse; -use Illuminate\Routing\Redirector; -use Illuminate\Support\ServiceProvider; use function config; @@ -15,7 +12,7 @@ * Class DeviceServiceProvider * @package App\Providers */ -class DeviceServiceProvider extends ServiceProvider +class DeviceServiceProvider extends BasicProvider { //si occupa di prendere i device dal database /** @@ -44,12 +41,7 @@ public function __construct() public function find($identifier) { try { - $response = json_decode($this->request->get($identifier, [ - 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token'), - 'X-Forwarded-For' => request()->ip() - ] - ])->getBody()); + $response = json_decode($this->request->get($identifier, $this->setHeaders())->getBody()); $device = new Device(); $device->fill((array)$response); return $device; @@ -65,12 +57,7 @@ public function find($identifier) public function findAll() { try { - $response = json_decode($this->request->get('', [ - 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token'), - 'X-Forwarded-For' => request()->ip() - ] - ])->getBody()); + $response = json_decode($this->request->get('', $this->setHeaders())->getBody()); $devices = []; foreach ($response as $d) { $device = new Device(); @@ -84,19 +71,6 @@ public function findAll() } } - /** - * @param RequestException $e - * @return RedirectResponse|Redirector - */ - private function isExpired(RequestException $e) - { - if ($e->getCode() == 419/*fai il controllo del token*/) { - session()->invalidate(); - session()->flush(); - return redirect('login'); - } - } - /** * @param $entity * @return array @@ -104,13 +78,9 @@ private function isExpired(RequestException $e) public function findAllFromEntity($entity) { try { - $response = json_decode($this->request->get('', [ - 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token'), - 'X-Forwarded-For' => request()->ip() - ], + $response = json_decode($this->request->get('', array_merge($this->setHeaders(), [ 'query' => 'entityId=' . $entity - ])->getBody()); + ]))->getBody()); $devices = []; foreach ($response as $d) { $device = new Device(); diff --git a/app/Providers/EntityServiceProvider.php b/app/Providers/EntityServiceProvider.php index 5131bb41..aa6d222a 100644 --- a/app/Providers/EntityServiceProvider.php +++ b/app/Providers/EntityServiceProvider.php @@ -5,9 +5,6 @@ use App\Models\Entity; use GuzzleHttp\Client; use GuzzleHttp\Exception\RequestException; -use Illuminate\Http\RedirectResponse; -use Illuminate\Routing\Redirector; -use Illuminate\Support\ServiceProvider; use function config; @@ -15,7 +12,7 @@ * Class EntityServiceProvider * @package App\Providers */ -class EntityServiceProvider extends ServiceProvider +class EntityServiceProvider extends BasicProvider { //si occupa di prendere i device dal database /** @@ -41,15 +38,10 @@ public function __construct() * @param mixed $identifier * @return Entity */ - public function retrieveById($identifier) + public function find($identifier) { try { - $response = json_decode($this->request->get($identifier, [ - 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token'), - 'X-Forwarded-For' => request()->ip() - ] - ])->getBody()); + $response = json_decode($this->request->get($identifier, $this->setHeaders())->getBody()); $entity = new Entity(); $entity->fill((array)$response); return $entity; @@ -60,31 +52,13 @@ public function retrieveById($identifier) } } - /** - * @param RequestException $e - * @return RedirectResponse|Redirector - */ - private function isExpired(RequestException $e) - { - if ($e->getCode() == 419/*fai il controllo del token*/) { - session()->invalidate(); - session()->flush(); - return redirect('login'); - } - } - /** * @return array|null */ public function findAll() { try { - $response = json_decode($this->request->get('', [ - 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token'), - 'X-Forwarded-For' => request()->ip() - ] - ])->getBody()); + $response = json_decode($this->request->get('', $this->setHeaders())->getBody()); $entities = []; foreach ($response as $e) { $entity = new Entity(); @@ -106,13 +80,9 @@ public function findAll() public function findFromDevice($deviceId) { try { - $response = json_decode($this->request->get('entities', [ - 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token'), - 'X-Forwarded-For' => request()->ip() - ], + $response = json_decode($this->request->get('entities', array_merge($this->setHeaders(), [ 'query' => 'deviceId=' . $deviceId - ])->getBody()); + ]))->getBody()); $entity = new Entity(); $entity->fill((array)$response); return $entity; @@ -130,13 +100,9 @@ public function findFromDevice($deviceId) public function findFromUser($userId) { try { - $response = json_decode($this->request->get('entities', [ - 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token'), - 'X-Forwarded-For' => request()->ip() - ], + $response = json_decode($this->request->get('entities', array_merge($this->setHeaders(), [ 'query' => 'userId=' . $userId - ])->getBody()); + ]))->getBody()); $entity = new Entity(); $entity->fill((array)$response); return $entity; diff --git a/app/Providers/GatewayServiceProvider.php b/app/Providers/GatewayServiceProvider.php index db994adc..d1fb9898 100644 --- a/app/Providers/GatewayServiceProvider.php +++ b/app/Providers/GatewayServiceProvider.php @@ -5,7 +5,6 @@ use App\Models\Gateway; use GuzzleHttp\Client; use GuzzleHttp\Exception\RequestException; -use Illuminate\Support\ServiceProvider; use function config; @@ -13,7 +12,7 @@ * Class GatewayServiceProvider * @package App\Providers */ -class GatewayServiceProvider extends ServiceProvider +class GatewayServiceProvider extends BasicProvider { //si occupa di prendere i device dal database /** @@ -39,15 +38,10 @@ public function __construct() * @param mixed $identifier * @return Gateway */ - public function retrieveById($identifier) + public function find($identifier) { try { - $response = json_decode($this->request->get($identifier, [ - 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token'), - 'X-Forwarded-For' => request()->ip() - ] - ])->getBody()); + $response = json_decode($this->request->get($identifier, $this->setHeaders())->getBody()); $gateway = new Gateway(); $gateway->fill((array)$response); return $gateway; @@ -63,12 +57,7 @@ public function retrieveById($identifier) public function findAll() { try { - $response = json_decode($this->request->get('', [ - 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token'), - 'X-Forwarded-For' => request()->ip() - ] - ])->getBody()); + $response = json_decode($this->request->get('', $this->setHeaders())->getBody()); $gateways = []; foreach ($response as $g) { $gateway = new Gateway(); diff --git a/app/Providers/SensorServiceProvider.php b/app/Providers/SensorServiceProvider.php index 31c2c17f..0daf3aad 100644 --- a/app/Providers/SensorServiceProvider.php +++ b/app/Providers/SensorServiceProvider.php @@ -5,15 +5,12 @@ use App\Models\Sensor; use GuzzleHttp\Client; use GuzzleHttp\Exception\RequestException; -use Illuminate\Http\RedirectResponse; -use Illuminate\Routing\Redirector; -use Illuminate\Support\ServiceProvider; /** * Class SensorServiceProvider * @package App\Providers */ -class SensorServiceProvider extends ServiceProvider +class SensorServiceProvider extends BasicProvider { //si occupa di prendere i device dal database /** @@ -42,12 +39,7 @@ public function __construct() public function find($deviceId, $sensorId) { try { - $response = json_decode($this->request->get($deviceId . '/sensor/' . $sensorId, [ - 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token'), - 'X-Forwarded-For' => request()->ip() - ], - ])->getBody()); + $response = json_decode($this->request->get($deviceId . '/sensor/' . $sensorId, $this->setHeaders())->getBody()); $sensor = new Sensor(); $sensor->fill((array)$response); return $sensor; @@ -58,31 +50,13 @@ public function find($deviceId, $sensorId) } } - /** - * @param RequestException $e - * @return RedirectResponse|Redirector - */ - private function isExpired(RequestException $e) - { - if ($e->getCode() == 419/*fai il controllo del token*/) { - session()->invalidate(); - session()->flush(); - return redirect('login'); - } - } - /** * @return array|null */ public function findAll() { try { - $response = json_decode($this->request->get('sensors', [ - 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token'), - 'X-Forwarded-For' => request()->ip() - ] - ])->getBody()); + $response = json_decode($this->request->get('sensors', $this->setHeaders())->getBody()); $sensors = []; foreach ($response as $d) { $sensor = new Sensor(); @@ -104,12 +78,7 @@ public function findAll() public function findAllFromDevice($deviceId) { try { - $response = json_decode($this->request->get($deviceId . '/sensors', [ - 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token'), - 'X-Forwarded-For' => request()->ip() - ] - ])->getBody()); + $response = json_decode($this->request->get($deviceId . '/sensors', $this->setHeaders())->getBody()); $sensors = []; foreach ($response as $d) { $sensor = new Sensor(); @@ -132,12 +101,7 @@ public function findAllFromDevice($deviceId) public function fetch($device, $sensorId) { try { - return json_decode($this->request->get('sensor', [ - 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token'), - 'X-Forwarded-For' => request()->ip() - ] - ])->getBody()); + return json_decode($this->request->get('sensor', $this->setHeaders())->getBody()); } catch (RequestException $e) { $this->isExpired($e); return NAN; diff --git a/app/Providers/UserServiceProvider.php b/app/Providers/UserServiceProvider.php index aefead88..6cf2f4d2 100644 --- a/app/Providers/UserServiceProvider.php +++ b/app/Providers/UserServiceProvider.php @@ -3,7 +3,6 @@ namespace App\Providers; use App\Models\User; -use Carbon\Laravel\ServiceProvider; use GuzzleHttp\Client; use GuzzleHttp\Exception\RequestException; use Illuminate\Contracts\Auth\Authenticatable; @@ -18,7 +17,7 @@ * Class UserServiceProvider * @package App\Providers */ -class UserServiceProvider extends ServiceProvider implements UserProvider +class UserServiceProvider extends BasicProvider implements UserProvider { //si occupa di prendere lo user dal database /** @@ -47,12 +46,7 @@ public function __construct() public function retrieveById($identifier) { try { - $response = json_decode($this->request->get('users/' . $identifier, [ - 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token'), - 'X-Forwarded-For' => request()->ip() - ] - ])->getBody()); + $response = json_decode($this->request->get('users/' . $identifier, $this->setHeaders())->getBody()); $user = new User(); $user->fill((array)$response); return $user; @@ -63,19 +57,6 @@ public function retrieveById($identifier) } } - /** - * @param RequestException $e - * @return RedirectResponse|Redirector - */ - private function isExpired(RequestException $e) - { - if ($e->getCode() == 419/*fai il controllo del token*/) { - session()->invalidate(); - session()->flush(); - return redirect('login'); - } - } - /** * @param mixed $identifier * @param string $token @@ -121,13 +102,9 @@ public function retrieveByCredentials(array $credentials) */ private function retriveByCode(Client $request, $credentials) { - $response = json_decode($request->post('auth/tfa', [ - 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token'), - 'X-Forwarded-For' => request()->ip() - ], + $response = json_decode($request->post('auth/tfa', array_merge($this->setHeaders(), [ 'body' => '{"auth_code":"' . $credentials["code"] . '"}' - ])->getBody()); + ]))->getBody()); $userarray = (array)$response->user; $userarray['token'] = $response->jwt; @@ -181,12 +158,7 @@ public function validateCredentials($user, array $credentials) public function findAll() { try { - $response = json_decode($this->request->get('users', [ - 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token'), - 'X-Forwarded-For' => request()->ip() - ] - ])->getBody()); + $response = json_decode($this->request->get('users', $this->setHeaders())->getBody()); $users = []; foreach ($response as $u) { $user = new User(); @@ -207,13 +179,9 @@ public function findAll() public function findAllFromEntity($entityId) { try { - $response = json_decode($this->request->get('users', [ - 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token'), - 'X-Forwarded-For' => request()->ip() - ], + $response = json_decode($this->request->get('users', array_merge($this->setHeaders(), [ 'query' => 'entityId=' . $entityId - ])->getBody()); + ]))->getBody()); $users = []; foreach ($response as $u) { $user = new User(); @@ -234,13 +202,9 @@ public function findAllFromEntity($entityId) public function update(string $who, string $body) { try { - $response = json_decode($this->request->put('/users/' . $who, [ - 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token'), - 'X-Forwarded-For' => request()->ip() - ], + $response = json_decode($this->request->put('/users/' . $who, array_merge($this->setHeaders(), [ 'body' => $body - ])->getBody()); + ]))->getBody()); if (property_exists($response, 'token')) { session(['token' => $response->token]); Auth::user()->token = $response->token; @@ -257,12 +221,7 @@ public function update(string $who, string $body) public function destroy(string $who) { try { - $this->request->delete('/users/' . $who, [ - 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token'), - 'X-Forwarded-For' => request()->ip() - ] - ]); + $this->request->delete('/users/' . $who, $this->setHeaders()); } catch (RequestException $e) { $this->isExpired($e); abort($e->getCode(), $e->getResponse()->getReasonPhrase()); @@ -275,13 +234,9 @@ public function destroy(string $who) public function store(string $body) { try { - $this->request->post('users', [ - 'headers' => [ - 'Authorization' => 'Bearer ' . session()->get('token'), - 'X-Forwarded-For' => request()->ip() - ], + $this->request->post('users', array_merge($this->setHeaders(), [ 'body' => $body - ]); + ])); } catch (RequestException $e) { $this->isExpired($e); abort($e->getCode(), $e->getResponse()->getReasonPhrase()); diff --git a/app/Providers/ViewGraphProvider.php b/app/Providers/ViewGraphProvider.php new file mode 100644 index 00000000..28fd43a0 --- /dev/null +++ b/app/Providers/ViewGraphProvider.php @@ -0,0 +1,81 @@ +request = new Client([ + 'base_uri' => config('app.api') . '/viewsGraphs', + 'headers' => [ + 'Content-Type' => 'application/json', + ] + ]); + } + + /** + * @param mixed $identifier + * @return ViewGraph + */ + public function find($identifier) + { + try { + $response = json_decode($this->request->get($identifier, $this->setHeaders())->getBody()); + $graph = new ViewGraph(); + $graph->fill((array)$response); + return $graph; + } catch (RequestException $e) { + abort($e->getCode(), $e->getResponse()->getReasonPhrase()); + return null; + } + } + + /** + * @return array|null + */ + public function findAll() + { + try { + $response = json_decode($this->request->get('', $this->setHeaders())->getBody()); + $graph = []; + foreach ($response as $g) { + $graph = new ViewGraph(); + $graph->fill((array)$g); + $graph[] = $graph; + } + return $graph; + } catch (RequestException $e) { + abort($e->getCode(), $e->getResponse()->getReasonPhrase()); + return null; + } + } + public function findAllFromView($viewId) + { + try { + $response = json_decode($this->request->get('', array_merge($this->setHeaders(), [ + 'query' => 'viewId=' . $viewId + ]))->getBody()); + $graphs = []; + foreach ($response as $g) { + $graph = new ViewGraph(); + $graph->fill((array)$g); + $graphs[] = $graph; + } + return $graphs; + } catch (RequestException $e) { + abort($e->getCode(), $e->getResponse()->getReasonPhrase()); + return null; + } + } +} diff --git a/app/Providers/ViewProvider.php b/app/Providers/ViewProvider.php new file mode 100644 index 00000000..f49ce57e --- /dev/null +++ b/app/Providers/ViewProvider.php @@ -0,0 +1,82 @@ +request = new Client([ + 'base_uri' => config('app.api') . '/views', + 'headers' => [ + 'Content-Type' => 'application/json', + ] + ]); + } + + /** + * @param mixed $identifier + * @return View + */ + public function find($identifier) + { + try { + $response = json_decode($this->request->get($identifier, $this->setHeaders())->getBody()); + $view = new View(); + $view->fill((array)$response); + return $view; + } catch (RequestException $e) { + abort($e->getCode(), $e->getResponse()->getReasonPhrase()); + return null; + } + } + + /** + * @return array|null + */ + public function findAll() + { + try { + $response = json_decode($this->request->get('', $this->setHeaders())->getBody()); + $views = []; + foreach ($response as $g) { + $view = new View(); + $view->fill((array)$g); + $views[] = $view; + } + return $views; + } catch (RequestException $e) { + abort($e->getCode(), $e->getResponse()->getReasonPhrase()); + return null; + } + } + + public function findAllFromUser($user) + { + try { + $response = json_decode($this->request->get('', array_merge($this->setHeaders(), [ + 'query' => 'userId=' . $user + ]))->getBody()); + $views = []; + foreach ($response as $g) { + $view = new View(); + $view->fill((array)$g); + $views[] = $view; + } + return $views; + } catch (RequestException $e) { + abort($e->getCode(), $e->getResponse()->getReasonPhrase()); + return null; + } + } +} diff --git a/resources/views/views/index.blade.php b/resources/views/views/index.blade.php new file mode 100644 index 00000000..b3d9bbc7 --- /dev/null +++ b/resources/views/views/index.blade.php @@ -0,0 +1 @@ +name('entities.index');//TODO -Route::get('/entity/{entityId}', 'EntityController@show')->name('entities.show');//TODO +Route::get('/entities/{entityId}', 'EntityController@show')->name('entities.show');//TODO +//routes per gestione views +Route::get('/views', 'ViewController@index')->name('views.index');//TODO +Route::get('/views/{viewId}', 'ViewController@show')->name('views.show');//TODO + //data Route::get('/data/devices/{deviceId}/sensors/{sensorId}', 'SensorController@fetch')->name('sensors.fetch');//TODO /*->middleware('can:isAdmin')*/// limita users agli admin From 5527090e6b72ab1f389f48c75c25787c67f4bb89 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Fri, 3 Apr 2020 17:40:38 +0200 Subject: [PATCH 011/124] fix ci --- app/Models/Gateway.php | 1 - app/Providers/SensorServiceProvider.php | 5 ++++- routes/breadcrumbs.php | 6 ++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/Models/Gateway.php b/app/Models/Gateway.php index 3542bcd7..1784b8ee 100644 --- a/app/Models/Gateway.php +++ b/app/Models/Gateway.php @@ -7,5 +7,4 @@ class Gateway extends Model { protected $fillable = ['gatewayId', 'name', 'devices']; - } diff --git a/app/Providers/SensorServiceProvider.php b/app/Providers/SensorServiceProvider.php index 0daf3aad..aa49dd6f 100644 --- a/app/Providers/SensorServiceProvider.php +++ b/app/Providers/SensorServiceProvider.php @@ -39,7 +39,10 @@ public function __construct() public function find($deviceId, $sensorId) { try { - $response = json_decode($this->request->get($deviceId . '/sensor/' . $sensorId, $this->setHeaders())->getBody()); + $response = json_decode($this->request->get( + $deviceId . '/sensor/' . $sensorId, + $this->setHeaders() + )->getBody()); $sensor = new Sensor(); $sensor->fill((array)$response); return $sensor; diff --git a/routes/breadcrumbs.php b/routes/breadcrumbs.php index df82de9d..fb27d469 100644 --- a/routes/breadcrumbs.php +++ b/routes/breadcrumbs.php @@ -72,7 +72,7 @@ }); Breadcrumbs::for('gateways.edit', function ($trail, $gatewayId) { $trail->parent('gateways'); - $trail->push('Modifica '. $gatewayId, route('gateways.edit', ['gatewayId' => $gatewayId])); + $trail->push('Modifica ' . $gatewayId, route('gateways.edit', ['gatewayId' => $gatewayId])); }); // Enti @@ -93,7 +93,5 @@ Breadcrumbs::for('entities.edit', function ($trail, $entityName) { $trail->parent('entities'); - $trail->push('Modifica '. $entityName, route('entities.edit', ['entityName' => $entityName])); + $trail->push('Modifica ' . $entityName, route('entities.edit', ['entityName' => $entityName])); }); - - From 5fc142131419aa4c9439737d52a7cf0fcfd03c5f Mon Sep 17 00:00:00 2001 From: Giovanni Date: Fri, 3 Apr 2020 17:43:01 +0200 Subject: [PATCH 012/124] datatable --- package-lock.json | 20 ++++++++++++++++++-- package.json | 2 ++ public/js/script.js | 10 +++++++++- resources/js/app.js | 4 ++++ resources/views/layouts/app.blade.php | 3 +-- resources/views/users/index.blade.php | 2 +- 6 files changed, 35 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index b7404e91..58b36382 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8676,6 +8676,23 @@ } } }, + "datatables.net": { + "version": "1.10.20", + "resolved": "https://registry.npmjs.org/datatables.net/-/datatables.net-1.10.20.tgz", + "integrity": "sha512-4E4S7tTU607N3h0fZPkGmAtr9mwy462u+VJ6gxYZ8MxcRIjZqHy3Dv1GNry7i3zQCktTdWbULVKBbkAJkuHEnQ==", + "requires": { + "jquery": ">=1.7" + } + }, + "datatables.net-dt": { + "version": "1.10.20", + "resolved": "https://registry.npmjs.org/datatables.net-dt/-/datatables.net-dt-1.10.20.tgz", + "integrity": "sha512-D+65buDke96a3WlJo2re+SbcAVfjPh2nsFZG198Vbkz3i1wKPdB+wkV2K07qYIiIpypcXWOnD2pz3MvnUqM9Tw==", + "requires": { + "datatables.net": "1.10.20", + "jquery": ">=1.7" + } + }, "de-indent": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", @@ -15842,8 +15859,7 @@ "jquery": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.1.tgz", - "integrity": "sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw==", - "dev": true + "integrity": "sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw==" }, "js-beautify": { "version": "1.10.3", diff --git a/package.json b/package.json index 448755fd..7bb416c3 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,8 @@ }, "dependencies": { "apexcharts": "^3.17.1", + "datatables.net": "^1.10.20", + "datatables.net-dt": "^1.10.20", "vue-apexcharts": "^1.5.2" }, "jest": { diff --git a/public/js/script.js b/public/js/script.js index f8d83f49..8bca120f 100644 --- a/public/js/script.js +++ b/public/js/script.js @@ -5,6 +5,14 @@ const form = document.querySelector("#sensorForm"); let trashes = document.querySelectorAll(".delete"); let numSensor = 1; +const tableUsers = document.querySelector(".dataTableUsers"); +$(document).ready(function () { + $(tableUsers).dataTable({ + "scrollX": false, + "pagingType": "full_numbers" + }); +}); + addSensor.addEventListener("click", (e) => { e.preventDefault(); const sensorIdValue = document.querySelector("#inputSensorId").value; @@ -63,6 +71,6 @@ addDevice.addEventListener("click", (e) => { alert("Dispositivo aggiunto correttamente"); } else { e.preventDefault(); - alert("Id e neme del dispositivo necessitano di un valore"); + alert("Id e nome del dispositivo necessitano di un valore"); } }); diff --git a/resources/js/app.js b/resources/js/app.js index b7e08e96..bf7dc22e 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -6,6 +6,10 @@ require("./bootstrap"); +require("jquery"); + +require("datatables.net")(); + window.Vue = require("vue"); /** diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index edd00af7..e625f6bb 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -16,8 +16,6 @@ - - @@ -49,6 +47,7 @@ +{{----}} diff --git a/resources/views/users/index.blade.php b/resources/views/users/index.blade.php index d6782501..46ff8480 100644 --- a/resources/views/users/index.blade.php +++ b/resources/views/users/index.blade.php @@ -21,7 +21,7 @@
    - +
    From a5deaa44778d9501f54e2b2abd6de55133d052d3 Mon Sep 17 00:00:00 2001 From: Alessandro Date: Fri, 3 Apr 2020 19:50:30 +0200 Subject: [PATCH 013/124] =?UTF-8?q?Aggiunta=20dinamicit=C3=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/DeviceController.php | 33 +-- app/Http/Controllers/EntityController.php | 18 +- app/Http/Controllers/GatewayController.php | 20 +- app/Models/Device.php | 2 +- app/Models/Gateway.php | 2 + app/Models/Sensor.php | 2 +- app/Providers/DeviceServiceProvider.php | 2 +- app/Providers/SensorServiceProvider.php | 6 +- resources/views/devices/index.blade.php | 224 +-------------------- resources/views/devices/show.blade.php | 67 ++---- resources/views/sensors/show.blade.php | 2 +- routes/breadcrumbs.php | 2 +- 12 files changed, 34 insertions(+), 346 deletions(-) diff --git a/app/Http/Controllers/DeviceController.php b/app/Http/Controllers/DeviceController.php index c67ed08f..ef8d4e6e 100644 --- a/app/Http/Controllers/DeviceController.php +++ b/app/Http/Controllers/DeviceController.php @@ -30,16 +30,7 @@ public function create() public function edit($device) { - //$device = $this->provider->find($device); - ///FAKER - $device = new Device(); - $arr = array_combine( - array('deviceId', 'name', 'gateway','frequency', 'status'), - array("1", "dev1", "US-Gateway", 1, "attivo") - ); - $device->fill($arr); - $devices[] = $device; - //TODO remove + $device = $this->provider->find($device); return view('devices.edit', compact('device')); } @@ -50,16 +41,7 @@ public function edit($device) */ public function index() { - //$devices = $this->provider->findAll(); - ///FAKER - $user = new Device(); - $arr = array_combine( - array('deviceId', 'name', 'frequency', 'gatewayId'), - array("1", "dev1", 123, 1) - ); - $user->fill($arr); - $devices[] = $user; - //TODO remove + $devices = $this->provider->findAll(); return view('devices.index', compact('devices')); } @@ -71,16 +53,7 @@ public function index() */ public function show($device) { - //$device = $this->provider->find($device); - ///FAKER - $user = new Device(); - $arr = array_combine( - array('deviceId', 'name', 'frequency', 'gatewayId'), - array("1", "dev1", 123, 1) - ); - $user->fill($arr); - $device = $user; - //TODO remove + $device = $this->provider->find($device); return view('devices.show', compact('device')); } } diff --git a/app/Http/Controllers/EntityController.php b/app/Http/Controllers/EntityController.php index 14754099..6a71a2ac 100644 --- a/app/Http/Controllers/EntityController.php +++ b/app/Http/Controllers/EntityController.php @@ -49,23 +49,7 @@ public function edit($entity) */ public function index() { - //$entities = $this->provider->findAll(); - ///FAKER - $entity1 = new Entity(); - $arr = array_combine( - array('entityId', 'name', 'location', 'deleted'), - array("1", "CasaDiMariano", "Padova", false) - ); - $entity1->fill($arr); - $entity = new Entity(); - $arr = array_combine( - array('entityId', 'name', 'location', 'deleted'), - array("2", "CasaDiMarian2", "Padova", false) - ); - $entity->fill($arr); - $entities[] = $entity1; - $entities[] = $entity; - //TODO remove + $entities = $this->provider->findAll(); return view('entities.index', compact('entities')); } diff --git a/app/Http/Controllers/GatewayController.php b/app/Http/Controllers/GatewayController.php index d10547b3..90142c14 100644 --- a/app/Http/Controllers/GatewayController.php +++ b/app/Http/Controllers/GatewayController.php @@ -41,15 +41,7 @@ public function index() */ public function show($gateway) { - //$gateway = $this->provider->retrieveById($gateway); - ///FAKER - $gateway = new Gateway(); - $arr = array_combine( - array('gatewayId', 'name', 'devices'), - array("1", "US-Gateway", "") - ); - $gateway->fill($arr); - //TODO remove + $gateway = $this->provider->find($gateway); return view('gateways.show', compact('gateway')); } @@ -65,15 +57,7 @@ public function create() //TODO public function edit($gateway) { - //$gateway = $this->provider->retrieveById($gateway); - ///FAKER - $gateway = new Gateway(); - $arr = array_combine( - array('gatewayId', 'name', 'devices'), - array("1", "US-Gateway", "") - ); - $gateway->fill($arr); - //TODO remove + $gateway = $this->provider->find($gateway); return view('gateways.edit', compact('gateway')); } } diff --git a/app/Models/Device.php b/app/Models/Device.php index bf8a11a1..77bb1a6f 100644 --- a/app/Models/Device.php +++ b/app/Models/Device.php @@ -8,7 +8,7 @@ class Device extends Model { - protected $fillable = ['deviceId', 'name', 'frequency', 'gatewayId']; + protected $fillable = ['name', 'frequency', 'realDeviceId', 'gateway', 'deviceId']; public function getSensors() { diff --git a/app/Models/Gateway.php b/app/Models/Gateway.php index 1784b8ee..380d17da 100644 --- a/app/Models/Gateway.php +++ b/app/Models/Gateway.php @@ -7,4 +7,6 @@ class Gateway extends Model { protected $fillable = ['gatewayId', 'name', 'devices']; + + } diff --git a/app/Models/Sensor.php b/app/Models/Sensor.php index 0ffba362..33914663 100644 --- a/app/Models/Sensor.php +++ b/app/Models/Sensor.php @@ -6,5 +6,5 @@ class Sensor extends Model { - protected $fillable = ['sensorId', 'type', 'deviceSensorId', 'deviceId']; + protected $fillable = ['sensorId', 'type', 'realSensorId']; } diff --git a/app/Providers/DeviceServiceProvider.php b/app/Providers/DeviceServiceProvider.php index 490a457f..2a10fd43 100644 --- a/app/Providers/DeviceServiceProvider.php +++ b/app/Providers/DeviceServiceProvider.php @@ -41,7 +41,7 @@ public function __construct() public function find($identifier) { try { - $response = json_decode($this->request->get($identifier, $this->setHeaders())->getBody()); + $response = json_decode($this->request->get("/devices/".$identifier, $this->setHeaders())->getBody()); $device = new Device(); $device->fill((array)$response); return $device; diff --git a/app/Providers/SensorServiceProvider.php b/app/Providers/SensorServiceProvider.php index aa49dd6f..6e40d4c7 100644 --- a/app/Providers/SensorServiceProvider.php +++ b/app/Providers/SensorServiceProvider.php @@ -40,7 +40,7 @@ public function find($deviceId, $sensorId) { try { $response = json_decode($this->request->get( - $deviceId . '/sensor/' . $sensorId, + '/devices/'.$deviceId . '/sensor/' . $sensorId, $this->setHeaders() )->getBody()); $sensor = new Sensor(); @@ -81,7 +81,7 @@ public function findAll() public function findAllFromDevice($deviceId) { try { - $response = json_decode($this->request->get($deviceId . '/sensors', $this->setHeaders())->getBody()); + $response = json_decode($this->request->get('/devices/'.$deviceId . '/sensors', $this->setHeaders())->getBody()); $sensors = []; foreach ($response as $d) { $sensor = new Sensor(); @@ -104,7 +104,7 @@ public function findAllFromDevice($deviceId) public function fetch($device, $sensorId) { try { - return json_decode($this->request->get('sensor', $this->setHeaders())->getBody()); + return json_decode($this->request->get('/datsensor', $this->setHeaders())->getBody()); } catch (RequestException $e) { $this->isExpired($e); return NAN; diff --git a/resources/views/devices/index.blade.php b/resources/views/devices/index.blade.php index 705769f2..c4d789f4 100644 --- a/resources/views/devices/index.blade.php +++ b/resources/views/devices/index.blade.php @@ -25,7 +25,7 @@ @endcan
    -
    Lista dispositivi US-Gateway
    +
    Lista dispositivi
    @@ -37,7 +37,6 @@
    - @@ -49,248 +48,37 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {{-- @foreach($devices as $device) - + - - - + - - @endforeach - --}} - -
    IDGateway Numero di sensori FrequenzaStatus
    Gateway Numero di sensori FrequenzaStatus
    1TermostatoUS-Gateway40.5Attivo - - - - Dettagli - - - - - - Modifica - -
    2GrattugiaUS-Gateway21Attivo - - - - Dettagli - - - - - - Modifica - -
    3FresaUS-Gateway103Attivo - - - - Dettagli - - - - - - Modifica - -
    Attivo {{$device->deviceId}} {{$device->name}}{{$device->gatewayId}} {{count($device->getSensors())}}{{$device->getEntity()->getName()}} - - - - Sensori - - + {{$device->frequency}} Dettagli
    -
    -
    - - - - Invia configurazione - -
    -
    -
    -
    -
    Lista dispositivi DE-Gateway
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {{-- - @foreach($devices as $device) - - - - - - - - @endforeach - --}}
    IdNomeGatewayNumero di SensoriFrequenzaStatus
    IdNomeGatewayNumero di SensoriFrequenzaStatus
    1TermostatoDE-Gateway40.5Attivo - - - - Dettagli - - - - - - Modifica - -
    2GrattugiaDE-Gateway21Disattivo - - - - Dettagli - - + - Modifica - -
    3FresaDE-Gateway103Attivo - - - - Dettagli - - - - - - Modifica - -
    Attivo{{$device->deviceId}}{{$device->name}}{{count($device->getSensors())}}{{$device->getEntity()->getName()}} - - - - Sensori - - - - - - Dettagli + Modifica
    - - - - - Invia configurazione -
    diff --git a/resources/views/devices/show.blade.php b/resources/views/devices/show.blade.php index f7114f6a..9999a6b7 100644 --- a/resources/views/devices/show.blade.php +++ b/resources/views/devices/show.blade.php @@ -36,66 +36,21 @@ Gateway Numero di sensori Frequenza - Status - 1 - Termostato - US-Gateway - 4 - 0.5 - Attivo + {{$device->deviceId}} + {{$device->name}} + {{$device->gatewayId}} + {{count($device->getSensors())}} + {{$device->frequency}}
    -
    -
    -
    -
    Sensore 1
    -
    -
    -
    -
    - -
    - 1 -
    -
    -
    - -
    - 1 -
    -
    -
    - -
    - Temperatura -
    -
    - -
    -
    -
    -
    - OPPURE
    Lista sensori
    @@ -120,13 +75,14 @@ + @foreach($device->getSensors() as $sensor) - 1 - 1 - Temperatura + {{$sensor->sensorId}} + {{$device->deviceId}} + {{$sensor->type}} @@ -135,6 +91,7 @@ + @endforeach
    diff --git a/resources/views/sensors/show.blade.php b/resources/views/sensors/show.blade.php index 8eefebd2..eb42934d 100644 --- a/resources/views/sensors/show.blade.php +++ b/resources/views/sensors/show.blade.php @@ -1,5 +1,5 @@ @extends('layouts.app') -@section('breadcrumbs', Breadcrumbs::render('sensor', $sensor->deviceSensorId, $sensor->sensorId)) +@section('breadcrumbs', Breadcrumbs::render('sensor', $device, $sensor)) @section('content')
    diff --git a/routes/breadcrumbs.php b/routes/breadcrumbs.php index fb27d469..3a1b6c7b 100644 --- a/routes/breadcrumbs.php +++ b/routes/breadcrumbs.php @@ -34,7 +34,7 @@ $trail->push('Sensori', route('sensors.index', ['deviceId' => $deviceId])); }); Breadcrumbs::for('sensor', function ($trail, $deviceId, $sensorId) { - $trail->parent('sensors', $deviceId); + $trail->parent('devices', $deviceId); $trail->push($sensorId, route('sensors.show', ['deviceId' => $deviceId, 'sensorId' => $sensorId])); }); From 2e93300bfd9cfb60f9ce382296b0dc0c03da1dfd Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Fri, 3 Apr 2020 20:07:11 +0200 Subject: [PATCH 014/124] index e show di /devices dinamica close #14 --- app/Http/Controllers/DeviceController.php | 65 +++-- app/Http/Controllers/GatewayController.php | 3 +- app/Http/Controllers/SensorController.php | 6 +- app/Http/Controllers/UserController.php | 5 +- app/Http/Controllers/ViewController.php | 2 +- app/Models/Device.php | 14 +- app/Models/Entity.php | 5 - app/Providers/DeviceServiceProvider.php | 21 +- app/Providers/EntityServiceProvider.php | 2 +- app/Providers/GatewayServiceProvider.php | 21 +- app/Providers/SensorServiceProvider.php | 4 +- app/Providers/ViewGraphProvider.php | 2 +- app/Providers/ViewProvider.php | 2 +- resources/views/devices/index.blade.php | 275 ++++++--------------- resources/views/devices/show.blade.php | 69 +++--- routes/web.php | 4 +- 16 files changed, 191 insertions(+), 309 deletions(-) diff --git a/app/Http/Controllers/DeviceController.php b/app/Http/Controllers/DeviceController.php index c67ed08f..473a8475 100644 --- a/app/Http/Controllers/DeviceController.php +++ b/app/Http/Controllers/DeviceController.php @@ -4,12 +4,16 @@ use App\Models\Device; use App\Providers\DeviceServiceProvider; +use App\Providers\GatewayServiceProvider; +use App\Providers\SensorServiceProvider; use Illuminate\Contracts\View\Factory; use Illuminate\View\View; class DeviceController extends Controller { - private $provider; + private $gatewayProvider; + private $deviceProvider; + private $sensorProvider; /** * Create a new controller instance. @@ -19,27 +23,20 @@ class DeviceController extends Controller public function __construct() { $this->middleware('auth'); - $this->provider = new DeviceServiceProvider(); + $this->gatewayProvider = new GatewayServiceProvider(); + $this->deviceProvider = new DeviceServiceProvider(); + $this->sensorProvider = new SensorServiceProvider(); } public function create() { - $entities = $this->provider->findAll(); - return view('devices.create', compact(['entities'])); + $entities = $this->deviceProvider->findAll(); + return view('devices.create', compact('entities')); } public function edit($device) { - //$device = $this->provider->find($device); - ///FAKER - $device = new Device(); - $arr = array_combine( - array('deviceId', 'name', 'gateway','frequency', 'status'), - array("1", "dev1", "US-Gateway", 1, "attivo") - ); - $device->fill($arr); - $devices[] = $device; - //TODO remove + $device = $this->deviceProvider->find($device); return view('devices.edit', compact('device')); } @@ -50,17 +47,20 @@ public function edit($device) */ public function index() { - //$devices = $this->provider->findAll(); - ///FAKER - $user = new Device(); - $arr = array_combine( - array('deviceId', 'name', 'frequency', 'gatewayId'), - array("1", "dev1", 123, 1) - ); - $user->fill($arr); - $devices[] = $user; - //TODO remove - return view('devices.index', compact('devices')); + $gateways = $this->gatewayProvider->findAll(); + $devicesOnGateways = []; + foreach ($gateways as $g) { + $sensors = []; + $devices = $this->deviceProvider->findAll();//todo sostituire con findAllFromGateway($g->gatewayId); + foreach ($devices as $d) { + $sensors[$d->deviceId] = count($this->sensorProvider->findAllFromDevice($d->deviceId)); + } + $devicesOnGateways[$g->gatewayId] = [0 => $g, + 1 => $devices, + 2 => $sensors + ]; + } + return view('devices.index', compact('devicesOnGateways')); } /** @@ -71,16 +71,9 @@ public function index() */ public function show($device) { - //$device = $this->provider->find($device); - ///FAKER - $user = new Device(); - $arr = array_combine( - array('deviceId', 'name', 'frequency', 'gatewayId'), - array("1", "dev1", 123, 1) - ); - $user->fill($arr); - $device = $user; - //TODO remove - return view('devices.show', compact('device')); + $device = $this->deviceProvider->find($device); + $sensors = $this->sensorProvider->findAllFromDevice($device->deviceId); + $gateway = $this->gatewayProvider->findAllFromDevice($device->deviceId)[0]; + return view('devices.show', compact(['device', 'sensors', 'gateway'])); } } diff --git a/app/Http/Controllers/GatewayController.php b/app/Http/Controllers/GatewayController.php index d10547b3..7ccbd478 100644 --- a/app/Http/Controllers/GatewayController.php +++ b/app/Http/Controllers/GatewayController.php @@ -58,8 +58,7 @@ public function show($gateway) */ public function create() //TODO { - $entityProvider = new GatewayServiceProvider(); - $entities = $entityProvider->findAll(); + $entities = $this->provider->findAll(); return view('gateways.create', compact(['entities'])); } diff --git a/app/Http/Controllers/SensorController.php b/app/Http/Controllers/SensorController.php index 3bd56ac4..1bb05f67 100644 --- a/app/Http/Controllers/SensorController.php +++ b/app/Http/Controllers/SensorController.php @@ -38,10 +38,10 @@ public function index($device) * @param $sensor * @return Factory|View */ - public function show($device, $sensor) + public function show($deviceId, $sensorId) { - $sensor = $this->provider->find($device, $sensor); - return view('sensors.show', compact(['sensor', 'device'])); + $sensor = $this->provider->find($deviceId, $sensorId); + return view('sensors.show', compact(['sensor', 'deviceId'])); } public function fetch($device, $sensor) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index acf9ed6a..e48f8a20 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -64,7 +64,7 @@ public function create() { $entityProvider = new EntityServiceProvider(); $entities = $entityProvider->findAll(); - return view('users.create', compact(['entities'])); + return view('users.create', compact('entities')); } /** @@ -155,9 +155,8 @@ public function destroy($userId) */ public function restore($userId) { - dd($userId);//todo to remove $user = $this->provider->retrieveById($userId); $user->setDeleted(false); - $this->provider->update($user->getAuthIdentifier(), $user); + $this->provider->update($user->getAuthIdentifier(), json_encode($user->getAttributes(), JSON_FORCE_OBJECT)); } } diff --git a/app/Http/Controllers/ViewController.php b/app/Http/Controllers/ViewController.php index e683be59..4353253b 100644 --- a/app/Http/Controllers/ViewController.php +++ b/app/Http/Controllers/ViewController.php @@ -25,7 +25,7 @@ public function __construct() public function index() { - $views = $this->viewProvider->findAllFromUser(Auth::id()); + $views = $this->viewProvider->findAll(); return view('views.index', compact('views')); } diff --git a/app/Models/Device.php b/app/Models/Device.php index bf8a11a1..9659c8f6 100644 --- a/app/Models/Device.php +++ b/app/Models/Device.php @@ -8,17 +8,5 @@ class Device extends Model { - protected $fillable = ['deviceId', 'name', 'frequency', 'gatewayId']; - - public function getSensors() - { - $provider = new SensorServiceProvider(); - return $provider->findAllFromDevice($this->deviceId); - } - - public function getEntity() - { - $provider = new EntityServiceProvider(); - return $provider->findFromDevice($this->deviceId); - } + protected $fillable = ['deviceId', 'name', 'frequency', 'realDeviceId']; } diff --git a/app/Models/Entity.php b/app/Models/Entity.php index 32287686..98f7eb74 100644 --- a/app/Models/Entity.php +++ b/app/Models/Entity.php @@ -7,9 +7,4 @@ class Entity extends Model { protected $fillable = ['entityId', 'name', 'location', 'deleted']; - - public function getName() - { - return $this->name; - } } diff --git a/app/Providers/DeviceServiceProvider.php b/app/Providers/DeviceServiceProvider.php index 490a457f..4bbec31f 100644 --- a/app/Providers/DeviceServiceProvider.php +++ b/app/Providers/DeviceServiceProvider.php @@ -27,7 +27,7 @@ public function __construct() { parent::__construct(app()); $this->request = new Client([ - 'base_uri' => config('app.api') . '/devices', + 'base_uri' => config('app.api') . '/devices/', 'headers' => [ 'Content-Type' => 'application/json' ] @@ -93,4 +93,23 @@ public function findAllFromEntity($entity) abort($e->getCode(), $e->getResponse()->getReasonPhrase()); } } + + public function findAllFromGateway($gateway) + { + try { + $response = json_decode($this->request->get('', array_merge($this->setHeaders(), [ + 'query' => 'gatewayId=' . $gateway + ]))->getBody()); + $devices = []; + foreach ($response as $d) { + $device = new Device(); + $device->fill((array)$d); + $devices[] = $device; + } + return $devices; + } catch (RequestException $e) { + $this->isExpired($e); + abort($e->getCode(), $e->getResponse()->getReasonPhrase()); + } + } } diff --git a/app/Providers/EntityServiceProvider.php b/app/Providers/EntityServiceProvider.php index aa6d222a..cbae04cb 100644 --- a/app/Providers/EntityServiceProvider.php +++ b/app/Providers/EntityServiceProvider.php @@ -27,7 +27,7 @@ public function __construct() { parent::__construct(app()); $this->request = new Client([ - 'base_uri' => config('app.api') . '/entities', + 'base_uri' => config('app.api') . '/entities/', 'headers' => [ 'Content-Type' => 'application/json' ] diff --git a/app/Providers/GatewayServiceProvider.php b/app/Providers/GatewayServiceProvider.php index d1fb9898..ea65dd1d 100644 --- a/app/Providers/GatewayServiceProvider.php +++ b/app/Providers/GatewayServiceProvider.php @@ -27,7 +27,7 @@ public function __construct() { parent::__construct(app()); $this->request = new Client([ - 'base_uri' => config('app.api') . '/gateways', + 'base_uri' => config('app.api') . '/gateways/', 'headers' => [ 'Content-Type' => 'application/json', ] @@ -70,4 +70,23 @@ public function findAll() return null; } } + + public function findAllFromDevice($device) + { + try { + $response = json_decode($this->request->get('', array_merge($this->setHeaders(), [ + 'query' => 'deviceId=' . $device + ]))->getBody()); + $gateways = []; + foreach ($response as $g) { + $gateway = new Gateway(); + $gateway->fill((array)$g); + $gateways[] = $gateway; + } + return $gateways; + } catch (RequestException $e) { + abort($e->getCode(), $e->getResponse()->getReasonPhrase()); + return null; + } + } } diff --git a/app/Providers/SensorServiceProvider.php b/app/Providers/SensorServiceProvider.php index aa49dd6f..edd8c289 100644 --- a/app/Providers/SensorServiceProvider.php +++ b/app/Providers/SensorServiceProvider.php @@ -25,7 +25,7 @@ public function __construct() { parent::__construct(app()); $this->request = new Client([ - 'base_uri' => config('app.api') . '/devices', + 'base_uri' => config('app.api') . '/devices/', 'headers' => [ 'Content-Type' => 'application/json' ] @@ -59,7 +59,7 @@ public function find($deviceId, $sensorId) public function findAll() { try { - $response = json_decode($this->request->get('sensors', $this->setHeaders())->getBody()); + $response = json_decode($this->request->get('/sensors', $this->setHeaders())->getBody()); $sensors = []; foreach ($response as $d) { $sensor = new Sensor(); diff --git a/app/Providers/ViewGraphProvider.php b/app/Providers/ViewGraphProvider.php index 28fd43a0..2f7a71e6 100644 --- a/app/Providers/ViewGraphProvider.php +++ b/app/Providers/ViewGraphProvider.php @@ -17,7 +17,7 @@ public function __construct() { parent::__construct(app()); $this->request = new Client([ - 'base_uri' => config('app.api') . '/viewsGraphs', + 'base_uri' => config('app.api') . '/viewsGraphs/', 'headers' => [ 'Content-Type' => 'application/json', ] diff --git a/app/Providers/ViewProvider.php b/app/Providers/ViewProvider.php index f49ce57e..928a56f0 100644 --- a/app/Providers/ViewProvider.php +++ b/app/Providers/ViewProvider.php @@ -17,7 +17,7 @@ public function __construct() { parent::__construct(app()); $this->request = new Client([ - 'base_uri' => config('app.api') . '/views', + 'base_uri' => config('app.api') . '/views/', 'headers' => [ 'Content-Type' => 'application/json', ] diff --git a/resources/views/devices/index.blade.php b/resources/views/devices/index.blade.php index 705769f2..facae5bf 100644 --- a/resources/views/devices/index.blade.php +++ b/resources/views/devices/index.blade.php @@ -5,132 +5,69 @@

    Dispositivi

    -
    - +
    + - @can(['isAdmin']) - + @can(['isAdmin']) + - @endcan -
    -
    -
    Lista dispositivi US-Gateway
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Aggiungi + + + @endcan + - {{-- - @foreach($devices as $device) + @foreach($devicesOnGateways as $deviceOnGateway) +
    +
    +
    Lista dispositivi {{ $deviceOnGateway[0]->name}}
    +
    +
    +
    +
    IdNomeGatewayNumero di sensoriFrequenzaStatus
    IdNomeGatewayNumero di sensoriFrequenzaStatus
    1TermostatoUS-Gateway40.5Attivo - - - - Dettagli - - - - - - Modifica - -
    2GrattugiaUS-Gateway21Attivo - - - - Dettagli - - - - - - Modifica - -
    3FresaUS-Gateway103Attivo - - - - Dettagli - - - - - - Modifica - -
    + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + @foreach($deviceOnGateway[1] as $device) + + + + + + + + - - @endforeach - --}} - -
    IdNomeGatewayNumero di sensoriFrequenzaStatus
    Attivo{{$device->deviceId}}{{$device->name}}{{count($device->getSensors())}}{{$device->getEntity()->getName()}} + IdNomeGatewayNumero di sensoriFrequenzaStatus
    {{$device->deviceId}}{{$device->name}}{{$deviceOnGateway[0]->name}}{{$deviceOnGateway[2][$device->deviceId]}}{{$device->frequency}}Attivo @@ -141,16 +78,10 @@ - Dettagli - -
    -
    - + Dettagli + + + @@ -208,82 +139,20 @@ - Modifica - - - - - 2 - Grattugia - DE-Gateway - 2 - 1 - Disattivo - - - - - Dettagli - - - + Modifica + + + + @endforeach + + +
    + - - - Modifica - - - - - 3 - Fresa - DE-Gateway - 1 - 03 - Attivo - - - - - Dettagli - - - - - - - Modifica - - - - - {{-- - @foreach($devices as $device) - - Attivo - {{$device->deviceId}} - {{$device->name}} - {{count($device->getSensors())}} - {{$device->getEntity()->getName()}} - - - - - Sensori - - - - - + - Dettagli - - - - @endforeach - --}} - - + Invia configurazione +
    @@ -292,6 +161,6 @@ Invia configurazione
    -
    + @endforeach
    @endsection diff --git a/resources/views/devices/show.blade.php b/resources/views/devices/show.blade.php index f7114f6a..15ec691d 100644 --- a/resources/views/devices/show.blade.php +++ b/resources/views/devices/show.blade.php @@ -22,37 +22,37 @@ > @endforeach --}} -
    -
    -

    Informazioni dispositivo

    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - -
    IdNomeGatewayNumero di sensoriFrequenzaStatus
    1TermostatoUS-Gateway40.5Attivo
    -
    +
    +
    +

    Informazioni dispositivo

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    IdNomeGatewayNumero di sensoriFrequenzaStatus
    {{$device->deviceId}}{{$device->name}}{{$gateway->name}}{{count($sensors)}}{{$device->frequency}}???Attivo???
    +
    @@ -120,13 +120,14 @@ + @foreach($sensors as $sensor) - 1 - 1 - Temperatura + {{$sensor->realSensorId}} + {{$device->deviceId}} + {{$sensor->type}} diff --git a/routes/web.php b/routes/web.php index cb25e947..6f704036 100644 --- a/routes/web.php +++ b/routes/web.php @@ -45,9 +45,9 @@ //routes per gestione devices Route::get('/devices', 'DeviceController@index')->name('devices.index'); Route::get('/devices/create', 'DeviceController@create')->name('devices.create');//TODO -//Route::get('/devices', 'DeviceController@store')->name('devices.store');//TODO +Route::post('/devices', 'DeviceController@store')->name('devices.store');//TODO Route::get('/devices/{deviceId}', 'DeviceController@show')->name('devices.show');//TODO -//Route::get('/devices/{deviceId}', 'DeviceController@update')->name('devices.update');//TODO +Route::put('/devices/{deviceId}', 'DeviceController@update')->name('devices.update');//TODO Route::get('/devices/{deviceId}/edit', 'DeviceController@edit')->name('devices.edit');//TODO //routes per gestione sensori From 924c2dde4fd6452a1b50a0a6ffa58e88cf92c193 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Sat, 4 Apr 2020 09:52:45 +0200 Subject: [PATCH 015/124] fix --- app/Http/Controllers/SensorController.php | 16 +++-- app/Models/Sensor.php | 2 +- resources/views/devices/index.blade.php | 83 +++-------------------- resources/views/devices/show.blade.php | 44 +----------- 4 files changed, 21 insertions(+), 124 deletions(-) diff --git a/app/Http/Controllers/SensorController.php b/app/Http/Controllers/SensorController.php index 1bb05f67..14e9e023 100644 --- a/app/Http/Controllers/SensorController.php +++ b/app/Http/Controllers/SensorController.php @@ -2,13 +2,15 @@ namespace App\Http\Controllers; +use App\Providers\DeviceServiceProvider; use App\Providers\SensorServiceProvider; use Illuminate\Contracts\View\Factory; use Illuminate\View\View; class SensorController extends Controller { - private $provider; + private $sensorProvider; + private $deviceProvider; /** * Create a new controller instance. @@ -18,7 +20,8 @@ class SensorController extends Controller public function __construct() { $this->middleware('auth'); - $this->provider = new SensorServiceProvider(); + $this->sensorProvider = new SensorServiceProvider(); + $this->deviceProvider = new DeviceServiceProvider(); } /** @@ -28,7 +31,7 @@ public function __construct() */ public function index($device) { - $sensors = $this->provider->findAllFromDevice($device); + $sensors = $this->sensorProvider->findAllFromDevice($device); return view('sensors.index', compact(['sensors', 'device'])); } @@ -40,12 +43,13 @@ public function index($device) */ public function show($deviceId, $sensorId) { - $sensor = $this->provider->find($deviceId, $sensorId); - return view('sensors.show', compact(['sensor', 'deviceId'])); + $sensor = $this->sensorProvider->find($deviceId, $sensorId); + $device = $this->deviceProvider->find($deviceId); + return view('sensors.show', compact(['sensor', 'device'])); } public function fetch($device, $sensor) { - return $this->provider->fetch($device, $sensor); + return $this->sensorProvider->fetch($device, $sensor); } } diff --git a/app/Models/Sensor.php b/app/Models/Sensor.php index 0ffba362..a261adce 100644 --- a/app/Models/Sensor.php +++ b/app/Models/Sensor.php @@ -6,5 +6,5 @@ class Sensor extends Model { - protected $fillable = ['sensorId', 'type', 'deviceSensorId', 'deviceId']; + protected $fillable = ['sensorId', 'type', 'realSensorId', 'device']; } diff --git a/resources/views/devices/index.blade.php b/resources/views/devices/index.blade.php index facae5bf..94f6b8da 100644 --- a/resources/views/devices/index.blade.php +++ b/resources/views/devices/index.blade.php @@ -67,79 +67,20 @@ {{$deviceOnGateway[2][$device->deviceId]}} {{$device->frequency}} Attivo - - - - - Sensori - - - - - - + + + + + Dettagli - + - + + - Invia configurazione - -
    -
    -
    -
    -
    Lista dispositivi DE-Gateway
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -154,12 +95,6 @@ Invia configurazione - - - - - Invia configurazione - @endforeach diff --git a/resources/views/devices/show.blade.php b/resources/views/devices/show.blade.php index 15ec691d..1f18d777 100644 --- a/resources/views/devices/show.blade.php +++ b/resources/views/devices/show.blade.php @@ -53,49 +53,6 @@ -
    -
    -
    -
    Sensore 1
    -
    -
    -
    -
    - -
    - 1 -
    -
    -
    - -
    - 1 -
    -
    -
    - -
    - Temperatura -
    -
    - -
    -
    -
    -
    - OPPURE
    Lista sensori
    @@ -136,6 +93,7 @@ + @endforeach
    IdNomeGatewayNumero di SensoriFrequenzaStatus
    IdNomeGatewayNumero di SensoriFrequenzaStatus
    1TermostatoDE-Gateway40.5Attivo - - - - Dettagli - - - - - - Modifica + Modiica
    From 1657c0cc3b37b4191bbae9a901ca476863f826a7 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Sat, 4 Apr 2020 09:54:33 +0200 Subject: [PATCH 016/124] fix --- app/Models/Gateway.php | 2 -- app/Providers/DeviceServiceProvider.php | 2 +- app/Providers/SensorServiceProvider.php | 4 ++-- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/app/Models/Gateway.php b/app/Models/Gateway.php index 380d17da..1784b8ee 100644 --- a/app/Models/Gateway.php +++ b/app/Models/Gateway.php @@ -7,6 +7,4 @@ class Gateway extends Model { protected $fillable = ['gatewayId', 'name', 'devices']; - - } diff --git a/app/Providers/DeviceServiceProvider.php b/app/Providers/DeviceServiceProvider.php index 6089381c..3a580c9b 100644 --- a/app/Providers/DeviceServiceProvider.php +++ b/app/Providers/DeviceServiceProvider.php @@ -41,7 +41,7 @@ public function __construct() public function find($identifier) { try { - $response = json_decode($this->request->get("/devices/".$identifier, $this->setHeaders())->getBody()); + $response = json_decode($this->request->get("/devices/" . $identifier, $this->setHeaders())->getBody()); $device = new Device(); $device->fill((array)$response); return $device; diff --git a/app/Providers/SensorServiceProvider.php b/app/Providers/SensorServiceProvider.php index 6dab0b8f..ffa71e20 100644 --- a/app/Providers/SensorServiceProvider.php +++ b/app/Providers/SensorServiceProvider.php @@ -40,7 +40,7 @@ public function find($deviceId, $sensorId) { try { $response = json_decode($this->request->get( - '/devices/'.$deviceId . '/sensor/' . $sensorId, + '/devices/' . $deviceId . '/sensor/' . $sensorId, $this->setHeaders() )->getBody()); $sensor = new Sensor(); @@ -81,7 +81,7 @@ public function findAll() public function findAllFromDevice($deviceId) { try { - $response = json_decode($this->request->get('/devices/'.$deviceId . '/sensors', $this->setHeaders())->getBody()); + $response = json_decode($this->request->get('/devices/' . $deviceId . '/sensors', $this->setHeaders())->getBody()); $sensors = []; foreach ($response as $d) { $sensor = new Sensor(); From 53e6fcb5948f8a42ecb056deb1d5d852fc5ca8d4 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Sat, 4 Apr 2020 10:15:22 +0200 Subject: [PATCH 017/124] fix show sensor e breadcrumbs --- resources/js/components/ChartManagement.vue | 48 ++++++++++++--------- resources/views/sensors/show.blade.php | 14 +++--- routes/breadcrumbs.php | 2 +- 3 files changed, 36 insertions(+), 28 deletions(-) diff --git a/resources/js/components/ChartManagement.vue b/resources/js/components/ChartManagement.vue index e0f7508e..7693c913 100644 --- a/resources/js/components/ChartManagement.vue +++ b/resources/js/components/ChartManagement.vue @@ -21,35 +21,43 @@ // let date; // let label; // let newData; -let pull = null; export default { props: { deviceId: Number, - sensorId: Number, + sensorId1: Number, + sensorId2: Number, }, - data: function () { + data: function() { return { chartOptions: { chart: { - type: "line", - zoom: { - enabled: true, - }, - animations: { - enabled: false, - }, + height: 400, + type: 'area' + }, + dataLabels: { + enabled: false + }, + stroke: { + curve: 'smooth' }, xaxis: { - categories: [""], + type: 'datetime', + categories: [] }, - }, - series: [ - { - name: this.$props.sensorId, - data: [], + tooltip: { + x: { + format: 'dd/MM/yy HH:mm' + }, }, - ], - }; + }, + series: [{ + name: this.$props.sensorId1, + data: [], + },{ + name: this.$props.sensorId2, + data: [], + }], + } }, mounted() { this.fetchData(); @@ -83,7 +91,7 @@ export default { "/data/devices/" + this.$props.deviceId + "/sensors/" + - this.$props.sensorId + this.$props.sensorId1 ) .then((response) => { const r = response.data; @@ -105,5 +113,5 @@ export default { this.chartOptions.xaxis.categories.shift(); }, }, -}; +} diff --git a/resources/views/sensors/show.blade.php b/resources/views/sensors/show.blade.php index eb42934d..d8029099 100644 --- a/resources/views/sensors/show.blade.php +++ b/resources/views/sensors/show.blade.php @@ -1,21 +1,21 @@ @extends('layouts.app') -@section('breadcrumbs', Breadcrumbs::render('sensor', $device, $sensor)) +@section('breadcrumbs', Breadcrumbs::render('sensor', $device->deviceId, $sensor->sensorId)) @section('content') +
    +

    Sensore {{$sensor->sensorId}} del dispositivo {{$sensor->device}}

    +
    - -
    -

    Sensore {{$sensor->sensorId}} del dispositivo {{$sensor->deviceSensorId}}

    -
    Dati real-time
    diff --git a/routes/breadcrumbs.php b/routes/breadcrumbs.php index 3a1b6c7b..fb27d469 100644 --- a/routes/breadcrumbs.php +++ b/routes/breadcrumbs.php @@ -34,7 +34,7 @@ $trail->push('Sensori', route('sensors.index', ['deviceId' => $deviceId])); }); Breadcrumbs::for('sensor', function ($trail, $deviceId, $sensorId) { - $trail->parent('devices', $deviceId); + $trail->parent('sensors', $deviceId); $trail->push($sensorId, route('sensors.show', ['deviceId' => $deviceId, 'sensorId' => $sensorId])); }); From 079dacf3c2ed443989a7f57d30d7438b8375f133 Mon Sep 17 00:00:00 2001 From: Alessandro Date: Sat, 4 Apr 2020 11:14:09 +0200 Subject: [PATCH 018/124] Auto stash before merge of "feature/frontend" and "origin/feature/frontend" --- resources/views/sensors/show.blade.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/views/sensors/show.blade.php b/resources/views/sensors/show.blade.php index d8029099..059c1171 100644 --- a/resources/views/sensors/show.blade.php +++ b/resources/views/sensors/show.blade.php @@ -19,5 +19,6 @@ >
    + --}} @endsection From 4ad3e228adad9682a52e86264a3f5173ac61ad25 Mon Sep 17 00:00:00 2001 From: Alessandro Date: Sat, 4 Apr 2020 11:26:36 +0200 Subject: [PATCH 019/124] Fix dispositivi --- resources/views/devices/index.blade.php | 6 +++--- resources/views/devices/show.blade.php | 2 -- resources/views/sensors/show.blade.php | 2 -- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/resources/views/devices/index.blade.php b/resources/views/devices/index.blade.php index 94f6b8da..74dd44a2 100644 --- a/resources/views/devices/index.blade.php +++ b/resources/views/devices/index.blade.php @@ -76,11 +76,11 @@ - + - + - Modiica + Modifica diff --git a/resources/views/devices/show.blade.php b/resources/views/devices/show.blade.php index 1f18d777..29a1bcc6 100644 --- a/resources/views/devices/show.blade.php +++ b/resources/views/devices/show.blade.php @@ -36,7 +36,6 @@ Gateway Numero di sensori Frequenza - Status @@ -46,7 +45,6 @@ {{$gateway->name}} {{count($sensors)}} {{$device->frequency}} - ???Attivo??? diff --git a/resources/views/sensors/show.blade.php b/resources/views/sensors/show.blade.php index 059c1171..f6c473f4 100644 --- a/resources/views/sensors/show.blade.php +++ b/resources/views/sensors/show.blade.php @@ -19,6 +19,4 @@ >
    - --}} - @endsection From bad65208a39571035f849d392d6e8143a3a9a218 Mon Sep 17 00:00:00 2001 From: Giovanni Date: Sat, 4 Apr 2020 12:14:53 +0200 Subject: [PATCH 020/124] Responsive fix --- public/js/script.js | 6 +++- resources/views/devices/create.blade.php | 4 +-- resources/views/devices/edit.blade.php | 36 ++++++++++++------------ resources/views/devices/index.blade.php | 4 +-- resources/views/entities/edit.blade.php | 34 +++++++++++----------- resources/views/entities/index.blade.php | 6 ++-- resources/views/gateways/edit.blade.php | 21 +++++++------- resources/views/gateways/index.blade.php | 8 +++--- resources/views/gateways/show.blade.php | 6 ++-- resources/views/users/create.blade.php | 2 +- resources/views/users/index.blade.php | 13 +++++---- 11 files changed, 73 insertions(+), 67 deletions(-) diff --git a/public/js/script.js b/public/js/script.js index 8bca120f..32e3ce86 100644 --- a/public/js/script.js +++ b/public/js/script.js @@ -9,7 +9,11 @@ const tableUsers = document.querySelector(".dataTableUsers"); $(document).ready(function () { $(tableUsers).dataTable({ "scrollX": false, - "pagingType": "full_numbers" + "pagingType": "full_numbers", + "language": { + "url": "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/Italian.json" + // "url": "dataTables.italian.lang" + } }); }); diff --git a/resources/views/devices/create.blade.php b/resources/views/devices/create.blade.php index 20a5ce7e..36f45735 100644 --- a/resources/views/devices/create.blade.php +++ b/resources/views/devices/create.blade.php @@ -139,7 +139,7 @@ @enderror
    -
    +
    - @@ -148,7 +148,7 @@ @enderror
    -
    +
    -
    -
    + +
    + +
    + @endcan
    diff --git a/resources/views/entities/index.blade.php b/resources/views/entities/index.blade.php index 1bc41d5e..1c5f1edc 100644 --- a/resources/views/entities/index.blade.php +++ b/resources/views/entities/index.blade.php @@ -29,7 +29,7 @@
    - + @@ -58,7 +58,7 @@ Attivo @endif - -
    Nome Luogo @@ -67,7 +67,7 @@ Dettagli + diff --git a/resources/views/gateways/edit.blade.php b/resources/views/gateways/edit.blade.php index baa5661c..e6a13366 100644 --- a/resources/views/gateways/edit.blade.php +++ b/resources/views/gateways/edit.blade.php @@ -15,14 +15,6 @@ -
    - -
    @@ -50,10 +42,10 @@
    - @endcan + -
    + +
    + +
    + @endcan
    diff --git a/resources/views/gateways/index.blade.php b/resources/views/gateways/index.blade.php index 11ef7df9..92551048 100644 --- a/resources/views/gateways/index.blade.php +++ b/resources/views/gateways/index.blade.php @@ -29,7 +29,7 @@
    - + @@ -55,7 +55,7 @@ {{-- IL NUMERO DI DISPOSITIVI VA PRESO DINAMICAMENTE --}} - - -
    ID Nome{{$gateway->gatewayId}} {{$gateway->name}} 2 @@ -64,14 +64,14 @@ Dettagli + Modifica + diff --git a/resources/views/gateways/show.blade.php b/resources/views/gateways/show.blade.php index 6321bfa9..95902015 100644 --- a/resources/views/gateways/show.blade.php +++ b/resources/views/gateways/show.blade.php @@ -15,7 +15,7 @@
    - + @@ -41,14 +41,14 @@
    Id Nome
    - + - + < diff --git a/resources/views/users/create.blade.php b/resources/views/users/create.blade.php index d27f63bd..aa4bb034 100644 --- a/resources/views/users/create.blade.php +++ b/resources/views/users/create.blade.php @@ -94,7 +94,7 @@ @endcanany -
    +
    - + @@ -68,14 +68,15 @@ @else Attivo @endif - -
    Id Nome Numero di sensori
    Id Nome
    ID Nome - - - + + + + + Dettagli + @canany(['isAdmin', 'isMod']) @if($u->deleted) Date: Sat, 4 Apr 2020 12:39:39 +0200 Subject: [PATCH 021/124] Creazione bozza pagine view --- resources/views/devices/create.blade.php | 1 - resources/views/layouts/sidebar.blade.php | 7 +- resources/views/views/index.blade.php | 92 ++++++++++++++- resources/views/views/show.blade.php | 130 +++++++++++++++++++++- routes/breadcrumbs.php | 8 ++ routes/web.php | 4 + 6 files changed, 236 insertions(+), 6 deletions(-) diff --git a/resources/views/devices/create.blade.php b/resources/views/devices/create.blade.php index 20a5ce7e..ca216bcf 100644 --- a/resources/views/devices/create.blade.php +++ b/resources/views/devices/create.blade.php @@ -76,7 +76,6 @@ - diff --git a/resources/views/layouts/sidebar.blade.php b/resources/views/layouts/sidebar.blade.php index 3c5a8e61..074cf722 100644 --- a/resources/views/layouts/sidebar.blade.php +++ b/resources/views/layouts/sidebar.blade.php @@ -40,9 +40,10 @@ @canany(['isAdmin', 'isMod']) diff --git a/resources/views/views/index.blade.php b/resources/views/views/index.blade.php index b3d9bbc7..a75097a1 100644 --- a/resources/views/views/index.blade.php +++ b/resources/views/views/index.blade.php @@ -1 +1,91 @@ - +
    +

    Views

    +
    + + + +
    +
    +
    + + Creazione view +
    +
    +
    +
    + @csrf + @method('POST') +
    + +
    + + @error('viewName') + + {{ $message }} + + @enderror +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    Lista views
    +
    +
    +
    + + + + + + + + + + + + + + + @foreach($views as $view) + + + + + @endforeach + +
    Nome view
    Nome view
    {{$view->name}} + + + + Mostra view + +
    +
    +
    +
    + +@endsection diff --git a/resources/views/views/show.blade.php b/resources/views/views/show.blade.php index b3d9bbc7..7db0eaa0 100644 --- a/resources/views/views/show.blade.php +++ b/resources/views/views/show.blade.php @@ -1 +1,129 @@ -viewId)) +@section('content') +
    +
    +

    View {{$view->name}}

    +
    +
    + +
    +
    + +
    + +
    +
    +
    + + Creazione grafico +
    +
    +
    +
    + @csrf + @method('POST') +
    + +
    +
    + + @error('sensor1') + + {{ $message }} + + @enderror +
    +
    +
    +
    + +
    +
    + + @error('sensor2') + + {{ $message }} + + @enderror +
    +
    +
    +
    + +
    +
    + + @error('sensor2') + + {{ $message }} + + @enderror +
    +
    +
    +
    + +
    +
    + + @error('correlation') + + {{ $message }} + + @enderror +
    +
    +
    +
    +
    + +
    +
    +
    + + @foreach($graphs as $graph) +
    +
    +
    Dati real-time
    +
    +
    + +
    +
    + +
    +
    + @endforeach +
    +@endsection diff --git a/routes/breadcrumbs.php b/routes/breadcrumbs.php index fb27d469..bd2fb56e 100644 --- a/routes/breadcrumbs.php +++ b/routes/breadcrumbs.php @@ -95,3 +95,11 @@ $trail->parent('entities'); $trail->push('Modifica ' . $entityName, route('entities.edit', ['entityName' => $entityName])); }); + +//Views +Breadcrumbs::for('views', function ($trail) { + $trail->parent('home'); + $trail->push('Gestione views', route('views.index')); +}); + + diff --git a/routes/web.php b/routes/web.php index 6f704036..ae99b5e2 100644 --- a/routes/web.php +++ b/routes/web.php @@ -62,6 +62,10 @@ Route::put('/entity/{entityId}', 'EntityController@update')->name('entities.update');//TODO Route::get('/entity/{entityName}/edit', 'EntityController@edit')->name('entities.edit');//TODO +//routes per la gestione delle views +Route::get('/views', 'ViewController@index')->name('views.index');//TODO +Route::get('/views/{viewId}', 'ViewController@show')->name('views.show');//TODO + //data Route::get('/data/devices/{deviceId}/sensors/{sensorId}', 'SensorController@fetch')->name('sensors.fetch');//TODO /*->middleware('can:isAdmin')*/// limita users agli admin From a07d3b22c9d82035c6bc2ab6b433d22bda854a7d Mon Sep 17 00:00:00 2001 From: Giovanni Date: Sat, 4 Apr 2020 12:53:50 +0200 Subject: [PATCH 022/124] Sensori device dinamici --- app/Http/Controllers/DeviceController.php | 4 +++- resources/views/devices/edit.blade.php | 27 ++++++++++++++++++++--- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/DeviceController.php b/app/Http/Controllers/DeviceController.php index 473a8475..85bfc80e 100644 --- a/app/Http/Controllers/DeviceController.php +++ b/app/Http/Controllers/DeviceController.php @@ -37,7 +37,9 @@ public function create() public function edit($device) { $device = $this->deviceProvider->find($device); - return view('devices.edit', compact('device')); + $sensors = $this->sensorProvider->findAllFromDevice($device->deviceId); + + return view('devices.edit', compact('device','sensors')); } /** diff --git a/resources/views/devices/edit.blade.php b/resources/views/devices/edit.blade.php index 5a34bf83..7e16a300 100644 --- a/resources/views/devices/edit.blade.php +++ b/resources/views/devices/edit.blade.php @@ -31,7 +31,7 @@ @csrf @method('POST')
    - +
    @error('deviceId') @@ -42,7 +42,7 @@
    - +
    @error('deviceName') @@ -96,7 +96,28 @@
    - + @foreach($sensors as $sensor) +
    + + +
    + +
    + +
    + +
    +
    + +
    +
    + @endforeach
    From 8704b625da4ad509a6176bbd9c5df77e3bf74011 Mon Sep 17 00:00:00 2001 From: Giovanni Date: Sat, 4 Apr 2020 12:59:09 +0200 Subject: [PATCH 023/124] modifica view --- resources/views/views/index.blade.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/views/views/index.blade.php b/resources/views/views/index.blade.php index a75097a1..3abc9eeb 100644 --- a/resources/views/views/index.blade.php +++ b/resources/views/views/index.blade.php @@ -40,9 +40,9 @@
    @@ -55,7 +55,7 @@
    - + @@ -71,11 +71,11 @@ @foreach($views as $view) - - @foreach($alerts as $status => $a) - @foreach($a as $alert) + @foreach($alertsWithSensors as $status => $a) + @foreach($a as $list) - - - - - + + + + + @if($status == "enable") @else From 10dfffe7b58682b6a93b19206afb6807d5244d2a Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Fri, 10 Apr 2020 20:00:47 +0200 Subject: [PATCH 098/124] inizio test dei models --- app/Http/Controllers/Auth/LoginController.php | 3 --- app/Providers/DeviceServiceProvider.php | 18 ++++++++++++++++++ app/Providers/UserServiceProvider.php | 8 ++++---- resources/js/components/DoubleChart.vue | 3 +-- tests/Models/DeviceTest.php | 19 +++++++++++++++++++ tests/Models/UserTest.php | 17 ++++++++++++++--- 6 files changed, 56 insertions(+), 12 deletions(-) create mode 100644 tests/Models/DeviceTest.php diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index ff2ba4a3..d676f023 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -45,9 +45,6 @@ protected function redirectTo() */ public function __construct() { - /*session()->flush(); - session_reset(); - Auth::logout();*/ $this->middleware('guest')->except('logout'); } diff --git a/app/Providers/DeviceServiceProvider.php b/app/Providers/DeviceServiceProvider.php index 17ab8eda..7eb90008 100644 --- a/app/Providers/DeviceServiceProvider.php +++ b/app/Providers/DeviceServiceProvider.php @@ -112,4 +112,22 @@ public function findAllFromGateway($gateway) abort($e->getCode(), $e->getResponse()->getReasonPhrase()); } } + + // =================================================== + // Mockup per un utente + // Funzione da rimuovere in production + + /** + * @return Device + */ + public static function GetADevice() + { + $device = new Device(); + $arr = array_combine( + array('deviceId', 'name', 'frequency', 'realDeviceId'), + array("0", "Potato", "5", "007") + ); + $device->fill($arr); + return $device; + } } diff --git a/app/Providers/UserServiceProvider.php b/app/Providers/UserServiceProvider.php index 158c49b7..e790fd71 100644 --- a/app/Providers/UserServiceProvider.php +++ b/app/Providers/UserServiceProvider.php @@ -252,13 +252,13 @@ public function store(string $body) /** * @return User */ - public function imJustAGuyDontBotherMe() + public static function GetAUser() { $user = new User(); $arr = array_combine( - array('userId', 'name', 'surname', 'email', 'type', 'telegramName', 'telegramChat', 'deleted', 'tfa', - 'token'), - array("1", "sys", "admin", "sys@admin.it", "0", "pippo", "123", "0", "0", "456") + array('userId','name', 'surname', 'email', 'type', 'telegramName', 'telegramChat', 'deleted', 'tfa', 'token','entity', + 'password'), + array("0", "Simion", "admin", "sys@admin.it", "0", "pippo", "00000", "0", "0", "xXxtOkEnxXx", "null", 'password') ); $user->fill($arr); return $user; diff --git a/resources/js/components/DoubleChart.vue b/resources/js/components/DoubleChart.vue index 802b6c79..90cf2584 100644 --- a/resources/js/components/DoubleChart.vue +++ b/resources/js/components/DoubleChart.vue @@ -158,8 +158,7 @@ export default { let calc = NaN; switch (this.variance) { case 1: - (calc = this.vars.date), - covariance(this.vars.data1, this.vars.data2); + calc = covariance(this.vars.data1, this.vars.data2); break; case 2: calc = Pearson.rank(this.vars.data1, this.vars.data2); diff --git a/tests/Models/DeviceTest.php b/tests/Models/DeviceTest.php new file mode 100644 index 00000000..0af1641d --- /dev/null +++ b/tests/Models/DeviceTest.php @@ -0,0 +1,19 @@ +assertEquals($response, $device->getAttributes()); + } +} diff --git a/tests/Models/UserTest.php b/tests/Models/UserTest.php index 61be1ee9..7ca9b802 100644 --- a/tests/Models/UserTest.php +++ b/tests/Models/UserTest.php @@ -2,20 +2,31 @@ namespace Tests\Models; -use App\Models\User; +use App\Providers\UserServiceProvider; use PHPUnit\Framework\TestCase; class UserTest extends TestCase { public function testGetAuthIdentifierName() { - $user = new User(); + $user = UserServiceProvider::GetAUser(); $this->assertEquals('userId', $user->getAuthIdentifierName()); } public function testGetWrongAuthIdentifier() { - $user = new User(); + $user = UserServiceProvider::GetAUser(); $this->assertEquals(null, $user->getAuthIdentifier()); } + public function testGetAuthIdentifier() + { + $user = UserServiceProvider::GetAUser(); + $this->assertEquals("0", $user->getAuthIdentifier()); + } + + public function testGetRole() + { + $user = UserServiceProvider::GetAUser(); + $this->assertEquals("Amministratore", $user->getAuthIdentifier()); + } } From b63b1928146ac2b68c7c5ab1f2469fd50ca72773 Mon Sep 17 00:00:00 2001 From: Mariano Date: Fri, 10 Apr 2020 20:53:24 +0200 Subject: [PATCH 099/124] Aggiornati gli ID reali e logici --- resources/css/theme-edit.css | 10 ++++++ resources/views/devices/index.blade.php | 8 ++--- resources/views/devices/show.blade.php | 9 +++--- resources/views/layouts/sidebar.blade.php | 38 +++++++++++++---------- resources/views/sensors/show.blade.php | 2 +- resources/views/settings/edit.blade.php | 2 +- resources/views/users/show.blade.php | 4 +-- 7 files changed, 45 insertions(+), 28 deletions(-) diff --git a/resources/css/theme-edit.css b/resources/css/theme-edit.css index d930bd00..2918f78d 100644 --- a/resources/css/theme-edit.css +++ b/resources/css/theme-edit.css @@ -24,3 +24,13 @@ float: none !important; text-align: center !important; } + +.logic-id::before { + content: '\0023'; + color: #7bb0ff; +} + +.real-id::before { + content: '\0040'; + color: #ff8362; +} diff --git a/resources/views/devices/index.blade.php b/resources/views/devices/index.blade.php index c79030f2..e289340f 100644 --- a/resources/views/devices/index.blade.php +++ b/resources/views/devices/index.blade.php @@ -39,7 +39,7 @@
    Nome view
    {{$view->name}} - + Mostra view From bc0c755ffe7707533106f70a5e78da47d5248456 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Sat, 4 Apr 2020 14:54:34 +0200 Subject: [PATCH 024/124] aggiornamento componente vue --- __tests__/ChartManagement.test.js | 6 +- app/Http/Controllers/SensorController.php | 4 +- app/Providers/SensorServiceProvider.php | 11 +- resources/js/app.js | 19 +- resources/js/components/ChartManagement.vue | 199 ++++++++++---------- resources/views/devices/show.blade.php | 14 -- resources/views/layouts/app.blade.php | 2 +- resources/views/sensors/show.blade.php | 9 +- routes/web.php | 2 +- 9 files changed, 131 insertions(+), 135 deletions(-) diff --git a/__tests__/ChartManagement.test.js b/__tests__/ChartManagement.test.js index 8b194b5b..3e6d8056 100644 --- a/__tests__/ChartManagement.test.js +++ b/__tests__/ChartManagement.test.js @@ -5,10 +5,10 @@ import ChartManagement from "../resources/js/components/ChartManagement.vue"; describe("ChartManagement", () => { test("is a Vue instance", () => { - const deviceId = 1; - const sensorId = 1; + const sensor2 = '{"type":"stick","realSensorId":1,"device":1,"sensorId":1}'; + const sensor1 = '{"type":"stick","realSensorId":1,"device":1,"sensorId":1}'; const chart = mount(ChartManagement, { - propsData: { deviceId, sensorId }, + propsData: { sensor2, sensor1 }, }); expect(chart.isVueInstance()).toBeTruthy(); }); diff --git a/app/Http/Controllers/SensorController.php b/app/Http/Controllers/SensorController.php index 14e9e023..e208dc1b 100644 --- a/app/Http/Controllers/SensorController.php +++ b/app/Http/Controllers/SensorController.php @@ -48,8 +48,8 @@ public function show($deviceId, $sensorId) return view('sensors.show', compact(['sensor', 'device'])); } - public function fetch($device, $sensor) + public function fetch($sensorId) { - return $this->sensorProvider->fetch($device, $sensor); + return $this->sensorProvider->fetch($sensorId); } } diff --git a/app/Providers/SensorServiceProvider.php b/app/Providers/SensorServiceProvider.php index ffa71e20..ae9e0882 100644 --- a/app/Providers/SensorServiceProvider.php +++ b/app/Providers/SensorServiceProvider.php @@ -97,14 +97,19 @@ public function findAllFromDevice($deviceId) } /** - * @param $device * @param $sensorId * @return mixed */ - public function fetch($device, $sensorId) + public function fetch($sensorId) { try { - return json_decode($this->request->get('/datsensor', $this->setHeaders())->getBody()); + return '{ + "time": "2020-04-04T09:43:06.316Z", + "gatewayName": "string", + "realDeviceId": 0, + "realSensorId": 0, + "value": ' . rand(0, 10) . ' +}';//todo sostituire con json_decode($this->request->get('/data/' . $sensorId, $this->setHeaders())->getBody()); } catch (RequestException $e) { $this->isExpired($e); return NAN; diff --git a/resources/js/app.js b/resources/js/app.js index bf7dc22e..5caffbfe 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -8,9 +8,9 @@ require("./bootstrap"); require("jquery"); -require("datatables.net")(); +//require("datatables.net")(); -window.Vue = require("vue"); +window.Vue = require('vue'); /** * The following block of code may be used to automatically register your @@ -23,15 +23,12 @@ window.Vue = require("vue"); // const files = require.context('./', true, /\.vue$/i) // files.keys().map(key => Vue.component(key.split('/').pop().split('.')[0], files(key).default)) -Vue.component( - "chart-management", - require("./components/ChartManagement.vue").default -); +Vue.component('chart-management', require('./components/ChartManagement.vue').default); -import VueApexCharts from "vue-apexcharts"; -Vue.use(VueApexCharts); +import VueApexCharts from 'vue-apexcharts' +Vue.use(VueApexCharts) -Vue.component("apexchart", VueApexCharts); +Vue.component('apexchart', VueApexCharts) /** * Next, we will create a fresh Vue application instance and attach it to @@ -39,6 +36,6 @@ Vue.component("apexchart", VueApexCharts); * or customize the JavaScript scaffolding to fit your unique needs. */ -new Vue({ - el: "#app", +var app = new Vue({ + el: '#app', }); diff --git a/resources/js/components/ChartManagement.vue b/resources/js/components/ChartManagement.vue index 7693c913..a030f93a 100644 --- a/resources/js/components/ChartManagement.vue +++ b/resources/js/components/ChartManagement.vue @@ -7,111 +7,120 @@ - + diff --git a/resources/views/devices/show.blade.php b/resources/views/devices/show.blade.php index 1f18d777..cbdfeeb6 100644 --- a/resources/views/devices/show.blade.php +++ b/resources/views/devices/show.blade.php @@ -8,20 +8,6 @@
    - {{--
    -

    Dispositivo #{{$device->deviceId}}

    -
    - @foreach($device->sensorsList as $errorse) -
    -

    Sensore #{{$errorse['sensorId']}}

    -
    - - @endforeach - --}}

    Informazioni dispositivo

    diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index e625f6bb..eee247bf 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -49,7 +49,7 @@ {{----}} - +{{----}} diff --git a/resources/views/sensors/show.blade.php b/resources/views/sensors/show.blade.php index d8029099..38d751f4 100644 --- a/resources/views/sensors/show.blade.php +++ b/resources/views/sensors/show.blade.php @@ -1,8 +1,8 @@ @extends('layouts.app') -@section('breadcrumbs', Breadcrumbs::render('sensor', $device->deviceId, $sensor->sensorId)) +@section('breadcrumbs', Breadcrumbs::render('sensor', $device->deviceId, $sensor->realSensorId)) @section('content')
    -

    Sensore {{$sensor->sensorId}} del dispositivo {{$sensor->device}}

    +

    Sensore {{$sensor->realSensorId}} del dispositivo {{$sensor->device}}

    @@ -13,9 +13,8 @@
    diff --git a/routes/web.php b/routes/web.php index 6f704036..a50b53e5 100644 --- a/routes/web.php +++ b/routes/web.php @@ -63,5 +63,5 @@ Route::get('/entity/{entityName}/edit', 'EntityController@edit')->name('entities.edit');//TODO //data -Route::get('/data/devices/{deviceId}/sensors/{sensorId}', 'SensorController@fetch')->name('sensors.fetch');//TODO +Route::get('/data/{sensorId}', 'SensorController@fetch')->name('sensors.fetch');//TODO /*->middleware('can:isAdmin')*/// limita users agli admin From b45f03b47c5d56c3246d6190ef4001e3e49f2341 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Sat, 4 Apr 2020 15:05:41 +0200 Subject: [PATCH 025/124] fix vari --- resources/js/app.js | 10 +++++----- resources/js/components/ChartManagement.vue | 18 +++++++++--------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/resources/js/app.js b/resources/js/app.js index 5caffbfe..3a4252db 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -10,7 +10,7 @@ require("jquery"); //require("datatables.net")(); -window.Vue = require('vue'); +window.Vue = require("vue"); /** * The following block of code may be used to automatically register your @@ -23,12 +23,12 @@ window.Vue = require('vue'); // const files = require.context('./', true, /\.vue$/i) // files.keys().map(key => Vue.component(key.split('/').pop().split('.')[0], files(key).default)) -Vue.component('chart-management', require('./components/ChartManagement.vue').default); +Vue.component("chart-management", require("./components/ChartManagement.vue").default); -import VueApexCharts from 'vue-apexcharts' +import VueApexCharts from "vue-apexcharts" Vue.use(VueApexCharts) -Vue.component('apexchart', VueApexCharts) +Vue.component("apexchart", VueApexCharts) /** * Next, we will create a fresh Vue application instance and attach it to @@ -37,5 +37,5 @@ Vue.component('apexchart', VueApexCharts) */ var app = new Vue({ - el: '#app', + el: "#app", }); diff --git a/resources/js/components/ChartManagement.vue b/resources/js/components/ChartManagement.vue index a030f93a..2047bfcf 100644 --- a/resources/js/components/ChartManagement.vue +++ b/resources/js/components/ChartManagement.vue @@ -13,30 +13,30 @@ From 30c70bd1682ef1d10587589404b554530b940313 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Sat, 4 Apr 2020 15:24:33 +0200 Subject: [PATCH 030/124] boh#3 --- resources/js/components/ChartManagement.vue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/js/components/ChartManagement.vue b/resources/js/components/ChartManagement.vue index 5d2f3ca1..2e27cbd7 100644 --- a/resources/js/components/ChartManagement.vue +++ b/resources/js/components/ChartManagement.vue @@ -13,8 +13,8 @@ From 2d46e406f339c3c1a43581cf1ec758ac2be95b60 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Sat, 4 Apr 2020 15:36:23 +0200 Subject: [PATCH 032/124] n'altra prova --- resources/js/app.js | 7 +- resources/js/components/ChartManagement.vue | 218 ++++++++++---------- 2 files changed, 117 insertions(+), 108 deletions(-) diff --git a/resources/js/app.js b/resources/js/app.js index 83cdf159..89b529c1 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -23,7 +23,10 @@ window.Vue = require("vue"); // const files = require.context('./', true, /\.vue$/i) // files.keys().map(key => Vue.component(key.split('/').pop().split('.')[0], files(key).default)) -Vue.component("chart-management", require("./components/ChartManagement.vue").default); +Vue.component( + "chart-management", + require("./components/ChartManagement.vue").default +); import VueApexCharts from "vue-apexcharts"; Vue.use(VueApexCharts); @@ -36,6 +39,6 @@ Vue.component("apexchart", VueApexCharts); * or customize the JavaScript scaffolding to fit your unique needs. */ -let app = new Vue({ +const app = new Vue({ el: "#app", }); diff --git a/resources/js/components/ChartManagement.vue b/resources/js/components/ChartManagement.vue index ac9aaa54..fd047133 100644 --- a/resources/js/components/ChartManagement.vue +++ b/resources/js/components/ChartManagement.vue @@ -7,120 +7,126 @@ - + +
    From 160e555a85a792768b41e022edd7c33e1aaa2c83 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Sat, 4 Apr 2020 15:41:17 +0200 Subject: [PATCH 033/124] avanti --- resources/js/components/ChartManagement.vue | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/resources/js/components/ChartManagement.vue b/resources/js/components/ChartManagement.vue index fd047133..6bc15e33 100644 --- a/resources/js/components/ChartManagement.vue +++ b/resources/js/components/ChartManagement.vue @@ -13,6 +13,7 @@ type="area" :options="chartOptions" :series="series"> + @@ -48,7 +49,7 @@ export default { opacityFrom: 0.7, opacityTo: 0.9, stops: [0, 100], - } + }, }, xaxis: { type: "datetime", @@ -58,14 +59,14 @@ export default { month: "MMM 'yy", day: "dd MMM", hour: "HH:mm", - } - } + }, + }, }, }, series: [{ name: this.sensor1.type, data: [[], [], [], [], [], [], [], [], [], []], - },{ + },{ name: this.sensor2.type, data: [[], [], [], [], [], [], [], [], [], []], }], From a1de9d1ea6850d26c12f746e0677941379723151 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Sat, 4 Apr 2020 15:45:51 +0200 Subject: [PATCH 034/124] riporviamo --- resources/js/components/ChartManagement.vue | 32 +++++++++++---------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/resources/js/components/ChartManagement.vue b/resources/js/components/ChartManagement.vue index 6bc15e33..d8f54546 100644 --- a/resources/js/components/ChartManagement.vue +++ b/resources/js/components/ChartManagement.vue @@ -12,8 +12,8 @@ height="400" type="area" :options="chartOptions" - :series="series"> - + :series="series" + > @@ -63,13 +63,15 @@ export default { }, }, }, - series: [{ - name: this.sensor1.type, - data: [[], [], [], [], [], [], [], [], [], []], + series: [ + { + name: this.sensor1.type, + data: [[], [], [], [], [], [], [], [], [], []], },{ - name: this.sensor2.type, - data: [[], [], [], [], [], [], [], [], [], []], - }], + name: this.sensor2.type, + data: [[], [], [], [], [], [], [], [], [], []], + } + ], } }, created() { @@ -91,20 +93,20 @@ export default { removeData() { this.series[0].data.shift(); this.series[1].data.shift(); - //this.chartOptions.xaxis.categories.shift(); + // this.chartOptions.xaxis.categories.shift(); }, fetchData() { - axios.get( - "/data/" + - this.sensor1.sensorId + axios + .get( + "/data/" + this.sensor1.sensorId ).then((response) => { this.vars.newDataSeries1= [Date.now(), response.data.value]; }).catch((errors) => { this.vars.newDataSeries1 = [Date.now(), NaN]; }); - axios.get( - "/data/" + - this.sensor2.sensorId + axios + .get( + "/data/" + this.sensor2.sensorId ).then((response) => { this.vars.newDataSeries2= [Date.now(), response.data.value]; }).catch((errors) => { From 261bd543d43e85ca0956437f8a40df21cd860e8c Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Sat, 4 Apr 2020 15:48:48 +0200 Subject: [PATCH 035/124] vai --- resources/js/components/ChartManagement.vue | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/resources/js/components/ChartManagement.vue b/resources/js/components/ChartManagement.vue index d8f54546..3f518870 100644 --- a/resources/js/components/ChartManagement.vue +++ b/resources/js/components/ChartManagement.vue @@ -70,12 +70,12 @@ export default { },{ name: this.sensor2.type, data: [[], [], [], [], [], [], [], [], [], []], - } + }, ], - } + }; }, created() { - this.vars = { + this.vars = { pull:null, newDataSeries1: null, newDataSeries2: null, @@ -97,16 +97,14 @@ export default { }, fetchData() { axios - .get( - "/data/" + this.sensor1.sensorId + .get("/data/" + this.sensor1.sensorId ).then((response) => { this.vars.newDataSeries1= [Date.now(), response.data.value]; }).catch((errors) => { this.vars.newDataSeries1 = [Date.now(), NaN]; }); axios - .get( - "/data/" + this.sensor2.sensorId + .get("/data/" + this.sensor2.sensorId ).then((response) => { this.vars.newDataSeries2= [Date.now(), response.data.value]; }).catch((errors) => { From 874b58b4833e71d53ae4cee1b62724e267625312 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Sat, 4 Apr 2020 15:53:37 +0200 Subject: [PATCH 036/124] dioporco --- resources/js/components/ChartManagement.vue | 22 +++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/resources/js/components/ChartManagement.vue b/resources/js/components/ChartManagement.vue index 3f518870..c45dc1f4 100644 --- a/resources/js/components/ChartManagement.vue +++ b/resources/js/components/ChartManagement.vue @@ -67,7 +67,8 @@ export default { { name: this.sensor1.type, data: [[], [], [], [], [], [], [], [], [], []], - },{ + }, + { name: this.sensor2.type, data: [[], [], [], [], [], [], [], [], [], []], }, @@ -114,20 +115,21 @@ export default { startInterval(timer) { return setInterval(() => this.plot(), timer); }, - plot(){ + plot () { this.removeData(); this.fetchData(); - this.$refs.RTChart.appendData( - [{ + this.$refs.RTChart.appendData([ + { data: [this.vars.newDataSeries1], - }, { + }, + { data: [this.vars.newDataSeries2], - }], + }, + ], false ); - console.log(this.series[0].data) - } - + console.log(this.series[0].data); + }, }, -} +}; From 8d82d604d10fc72f41f0fb299ac7504dd9441552 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Sat, 4 Apr 2020 15:58:54 +0200 Subject: [PATCH 037/124] ho finito le bestemmie --- resources/js/components/ChartManagement.vue | 40 ++++++++++++++------- 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/resources/js/components/ChartManagement.vue b/resources/js/components/ChartManagement.vue index c45dc1f4..07f7e5a2 100644 --- a/resources/js/components/ChartManagement.vue +++ b/resources/js/components/ChartManagement.vue @@ -76,8 +76,8 @@ export default { }; }, created() { - this.vars = { - pull:null, + this.vars = { + pull: null, newDataSeries1: null, newDataSeries2: null, }; @@ -98,19 +98,33 @@ export default { }, fetchData() { axios - .get("/data/" + this.sensor1.sensorId - ).then((response) => { - this.vars.newDataSeries1= [Date.now(), response.data.value]; - }).catch((errors) => { - this.vars.newDataSeries1 = [Date.now(), NaN]; + .get("/data/" + this.sensor1.sensorId) + .then((response) => { + this.vars.newDataSeries1 = [ + Date.now(), + response.data.value + ]; + }) + .catch((errors) => { + this.vars.newDataSeries1 = [ + Date.now(), + NaN + ]; }); axios - .get("/data/" + this.sensor2.sensorId - ).then((response) => { - this.vars.newDataSeries2= [Date.now(), response.data.value]; - }).catch((errors) => { - this.vars.newDataSeries2 = [Date.now(), NaN]; - }); + .get("/data/" + this.sensor2.sensorId) + .then((response) => { + this.vars.newDataSeries2 = [ + Date.now(), + response.data.value + ]; + }) + .catch((errors) => { + this.vars.newDataSeries2 = [ + Date.now(), + NaN + ]; + }); }, startInterval(timer) { return setInterval(() => this.plot(), timer); From 6408d44b24881e9c83e3de3a31d29f9818a85ccb Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Sat, 4 Apr 2020 16:03:52 +0200 Subject: [PATCH 038/124] qualcosa --- resources/js/components/ChartManagement.vue | 24 ++++++++------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/resources/js/components/ChartManagement.vue b/resources/js/components/ChartManagement.vue index 07f7e5a2..dfa1f54d 100644 --- a/resources/js/components/ChartManagement.vue +++ b/resources/js/components/ChartManagement.vue @@ -100,36 +100,30 @@ export default { axios .get("/data/" + this.sensor1.sensorId) .then((response) => { - this.vars.newDataSeries1 = [ - Date.now(), - response.data.value - ]; - }) + this.vars.newDataSeries1 = [ + Date.now(), + response.data.value, + ]; + }) .catch((errors) => { - this.vars.newDataSeries1 = [ - Date.now(), - NaN - ]; + this.vars.newDataSeries1 = [Date.now(), NaN]; }); axios .get("/data/" + this.sensor2.sensorId) .then((response) => { this.vars.newDataSeries2 = [ Date.now(), - response.data.value + response.data.value, ]; }) .catch((errors) => { - this.vars.newDataSeries2 = [ - Date.now(), - NaN - ]; + this.vars.newDataSeries2 = [Date.now(), NaN]; }); }, startInterval(timer) { return setInterval(() => this.plot(), timer); }, - plot () { + plot() { this.removeData(); this.fetchData(); this.$refs.RTChart.appendData([ From 991466462efd085a2cceba2d2ce91fe583fddfb6 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Sat, 4 Apr 2020 16:07:50 +0200 Subject: [PATCH 039/124] si ma mo? --- resources/js/app.js | 2 +- resources/js/components/ChartManagement.vue | 19 ++++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/resources/js/app.js b/resources/js/app.js index 89b529c1..998f62b7 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -39,6 +39,6 @@ Vue.component("apexchart", VueApexCharts); * or customize the JavaScript scaffolding to fit your unique needs. */ -const app = new Vue({ +var app = new Vue({ el: "#app", }); diff --git a/resources/js/components/ChartManagement.vue b/resources/js/components/ChartManagement.vue index dfa1f54d..f3faff66 100644 --- a/resources/js/components/ChartManagement.vue +++ b/resources/js/components/ChartManagement.vue @@ -107,7 +107,7 @@ export default { }) .catch((errors) => { this.vars.newDataSeries1 = [Date.now(), NaN]; - }); + }); axios .get("/data/" + this.sensor2.sensorId) .then((response) => { @@ -126,14 +126,15 @@ export default { plot() { this.removeData(); this.fetchData(); - this.$refs.RTChart.appendData([ - { - data: [this.vars.newDataSeries1], - }, - { - data: [this.vars.newDataSeries2], - }, - ], + this.$refs.RTChart.appendData( + [ + { + data: [this.vars.newDataSeries1], + }, + { + data: [this.vars.newDataSeries2], + }, + ], false ); console.log(this.series[0].data); From 6f8e7fb1fc562b97c01d538a10b3c786c0e6a1f8 Mon Sep 17 00:00:00 2001 From: Alessandro Date: Sat, 4 Apr 2020 16:38:01 +0200 Subject: [PATCH 040/124] Fix views --- resources/views/views/index.blade.php | 51 ++++++--------------------- resources/views/views/show.blade.php | 40 +++++++++++---------- 2 files changed, 31 insertions(+), 60 deletions(-) diff --git a/resources/views/views/index.blade.php b/resources/views/views/index.blade.php index 3abc9eeb..facfa5f7 100644 --- a/resources/views/views/index.blade.php +++ b/resources/views/views/index.blade.php @@ -13,8 +13,16 @@ Torna indietro - - +
    @@ -48,44 +56,5 @@
    -
    -
    -
    Lista views
    -
    -
    -
    - - - - - - - - - - - - - - - @foreach($views as $view) - - - - - @endforeach - -
    Nome view
    Nome view
    {{$view->name}} - - - - Mostra view - -
    -
    -
    -
    @endsection diff --git a/resources/views/views/show.blade.php b/resources/views/views/show.blade.php index 7db0eaa0..3dcc942c 100644 --- a/resources/views/views/show.blade.php +++ b/resources/views/views/show.blade.php @@ -78,7 +78,7 @@
    + +
    @@ -25,40 +33,45 @@ return { chartOptions: { chart: { - type: "area", + type: "line", height: 400, }, stroke: { curve: "straight", }, - dataLabels: { - enabled: false, + xaxis: { + type: 'datetime', + range: 10000, // mantiene in memoria 10 secondi + tickPlacement: 'between', }, - markers: { - size: 0, - style: "hollow", + yaxis: { + min: 0, }, - tooltip: { - intersect: true, - shared: false, + }, + chartOptionsLine: { + chart: { + type: "area", + height: 200, }, - fill: { - type: "gradient", - gradient: { - shadeIntensity: 1, - opacityFrom: 0.7, - opacityTo: 0.9, - stops: [0, 100], - }, + stroke: { + curve: "straight", + }, + dataLabels: { + enabled: false, }, xaxis: { - type: "datetime", + type: 'datetime', + tickPlacement: 'between', + }, + yaxis: { + min: 0, + tickAmount: 3, }, }, series: [ { name: this.sensor.type, - data: [[], [], [], [], [], [], [], [], [], []], + data: [], }, ], }; @@ -79,10 +92,6 @@ clearInterval(this.pull); this.pull = this.startInterval(timer.target.value); }, - removeData() { - this.series[0].data.shift(); - // this.chartOptions.xaxis.categories.shift(); - }, fetchData() { axios .get("/data/" + this.sensor.sensorId) @@ -91,7 +100,6 @@ Date.now(), response.data.value, ]; - this.vars.newLabel = Date.now(); }) .catch((errors) => { this.vars.newDataSeries = [Date.now(), NaN]; @@ -101,7 +109,6 @@ return setInterval(() => this.plot(), timer); }, plot() { - this.removeData(); this.fetchData(); this.$refs.RTChart.appendData( [ @@ -111,8 +118,15 @@ ], false ); - // this.chartOptions.xaxis.categories.push(this.label); - console.log(this.chartOptions.xaxis); + this.$refs.RTChartLine.appendData( + [ + { + data: [this.vars.newDataSeries], + }, + ], + false + ); + console.log(this.series[0].data); }, }, }; diff --git a/routes/breadcrumbs.php b/routes/breadcrumbs.php index 8fc29f5d..733be6ae 100644 --- a/routes/breadcrumbs.php +++ b/routes/breadcrumbs.php @@ -103,5 +103,5 @@ }); Breadcrumbs::for('views.show', function ($trail, $viewId) { $trail->parent('views'); - $trail->push('view'. $viewId, route('views.show', ['viewId' => $viewId])); + $trail->push('view' . $viewId, route('views.show', ['viewId' => $viewId])); }); From b740b4260078500cf2ef138408e58711f78b8635 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Sun, 5 Apr 2020 10:16:00 +0200 Subject: [PATCH 051/124] miglioramento grafi --- app/Providers/SensorServiceProvider.php | 14 ++-- resources/js/components/DoubleChart.vue | 86 ++++++++++++------------- resources/js/components/SingleChart.vue | 85 ++++++++++-------------- resources/views/sensors/show.blade.php | 7 +- 4 files changed, 87 insertions(+), 105 deletions(-) diff --git a/app/Providers/SensorServiceProvider.php b/app/Providers/SensorServiceProvider.php index 43fcbeda..7c1aa8a4 100644 --- a/app/Providers/SensorServiceProvider.php +++ b/app/Providers/SensorServiceProvider.php @@ -106,13 +106,13 @@ public function findAllFromDevice($deviceId) public function fetch($sensorId) { try { - return '{ - "time": "2020-04-04T09:43:06.316Z", - "gatewayName": "string", - "realDeviceId": 0, - "realSensorId": 0, - "value": ' . rand(0, 10) . ' -}';//todo sostituire con json_decode($this->request->get('/data/' . $sensorId, $this->setHeaders())->getBody()); + return json_encode(array( + 'time' => date("d/m/Y H:i:s"), + 'value' => rand(0, 10) , + 'gatewayName' => 'string', + 'realDeviceId' => 0, + 'realSensorId'=> 0, + ));//todo sostituire con json_decode($this->request->get('/data/' . $sensorId, $this->setHeaders())->getBody()); } catch (RequestException $e) { $this->isExpired($e); return NAN; diff --git a/resources/js/components/DoubleChart.vue b/resources/js/components/DoubleChart.vue index ce102013..9d8b94f2 100644 --- a/resources/js/components/DoubleChart.vue +++ b/resources/js/components/DoubleChart.vue @@ -10,7 +10,7 @@ @@ -25,29 +25,47 @@ export default { return { chartOptions: { chart: { - type: "area", + type: "line", height: 400, }, + toolbar: { + show: false + }, + markers: { + size: 1 + }, stroke: { curve: "straight", }, - dataLabels: { - enabled: false, - }, xaxis: { - type: "datetime", - range: 10000, + type: 'datetime', + range: 60000, // mantiene in memoria 10 secondi tickPlacement: 'between', + labels: { + format: 'dd/MM/yy - HH:mm:ss', + }, + title: { + text: 'Tempo' + }, + }, + yaxis: { + min: 0, + title: { + text: 'Valore' + }, + }, + dataLabels: { + enabled: false, }, }, series: [ { name: this.sensor1.type, - data: [[], [], [], [], [], [], [], [], [], []], + data: [], }, { name: this.sensor2.type, - data: [[], [], [], [], [], [], [], [], [], []], + data: [], }, ], }; @@ -55,9 +73,8 @@ export default { created() { this.vars = { pull: null, - newDataSeries1: null, - newDataSeries2: null, - newLabel: null, + newDataSeries1: [], + newDataSeries2: [], }; }, mounted() { @@ -69,20 +86,14 @@ export default { clearInterval(this.pull); this.pull = this.startInterval(timer.target.value); }, - removeData() { - this.series[0].data.shift(); - this.series[1].data.shift(); - // this.chartOptions.xaxis.categories.shift(); - }, fetchData() { axios .get("/data/" + this.sensor1.sensorId) .then((response) => { - this.vars.newDataSeries1 = [ - Date.now(), + this.vars.newDataSeries1.push([ + response.data.time, response.data.value, - ]; - this.vars.newLabel = Date.now(); + ]); }) .catch((errors) => { this.vars.newDataSeries1 = [Date.now(), NaN]; @@ -90,35 +101,24 @@ export default { axios .get("/data/" + this.sensor2.sensorId) .then((response) => { - this.vars.newDataSeries2 = [ - Date.now(), + this.vars.newDataSeries2.push([ + response.data.time, response.data.value, - ]; - this.vars.newLabel = Date.now(); + ]); }) .catch((errors) => { this.vars.newDataSeries2 = [Date.now(), NaN]; }); }, startInterval(timer) { - return setInterval(() => this.plot(), timer); - }, - plot() { - this.removeData(); - this.fetchData(); - this.$refs.RTChart.appendData( - [ - { - data: [this.vars.newDataSeries1], - }, - { - data: [this.vars.newDataSeries2], - }, - ], - false - ); - // this.chartOptions.xaxis.categories.push(this.label); - console.log(this.chartOptions.xaxis); + return setInterval(() => { + this.fetchData(); + this.series = [{ + data: this.vars.newDataSeries1 + }, { + data: this.vars.newDataSeries2, + }]; + }, timer); }, }, }; diff --git a/resources/js/components/SingleChart.vue b/resources/js/components/SingleChart.vue index ef7576ff..0480536a 100644 --- a/resources/js/components/SingleChart.vue +++ b/resources/js/components/SingleChart.vue @@ -15,14 +15,6 @@ :series="series" > - -
    @@ -36,37 +28,42 @@ type: "line", height: 400, }, + toolbar: { + show: false + }, + markers: { + size: 1 + }, stroke: { curve: "straight", }, xaxis: { type: 'datetime', - range: 10000, // mantiene in memoria 10 secondi + range: 60000, // mantiene in memoria 10 secondi tickPlacement: 'between', + labels: { + format: 'dd/MM/yy - HH:mm:ss', + }, + title: { + text: 'Tempo' + }, }, yaxis: { min: 0, + title: { + text: 'Valore' + }, }, - }, - chartOptionsLine: { - chart: { - type: "area", - height: 200, - }, - stroke: { - curve: "straight", + legend: { + position: 'top', + horizontalAlign: 'right', + floating: true, + offsetY: -25, + offsetX: -5, }, dataLabels: { enabled: false, }, - xaxis: { - type: 'datetime', - tickPlacement: 'between', - }, - yaxis: { - min: 0, - tickAmount: 3, - }, }, series: [ { @@ -79,8 +76,7 @@ created() { this.vars = { pull: null, - newDataSeries: null, - newLabel: null, + newDataSeries: [], }; }, mounted() { @@ -96,37 +92,22 @@ axios .get("/data/" + this.sensor.sensorId) .then((response) => { - this.vars.newDataSeries = [ - Date.now(), + this.vars.newDataSeries.push([ + response.data.time, response.data.value, - ]; + ]); }) .catch((errors) => { - this.vars.newDataSeries = [Date.now(), NaN]; + this.vars.newDataSeries.push([new Date.now(), NaN]); }); }, startInterval(timer) { - return setInterval(() => this.plot(), timer); - }, - plot() { - this.fetchData(); - this.$refs.RTChart.appendData( - [ - { - data: [this.vars.newDataSeries], - }, - ], - false - ); - this.$refs.RTChartLine.appendData( - [ - { - data: [this.vars.newDataSeries], - }, - ], - false - ); - console.log(this.series[0].data); + return setInterval(() => { + this.fetchData(); + this.series = [{ + data: this.vars.newDataSeries + }]; + }, timer); }, }, }; diff --git a/resources/views/sensors/show.blade.php b/resources/views/sensors/show.blade.php index c7d1cb2c..807d5a63 100644 --- a/resources/views/sensors/show.blade.php +++ b/resources/views/sensors/show.blade.php @@ -12,9 +12,10 @@
    Dati real-time
    - +
    @endsection From 6dbb72a397f14623e6471c5079491e13a4c93d00 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Sun, 5 Apr 2020 10:18:17 +0200 Subject: [PATCH 052/124] fix --- app/Providers/SensorServiceProvider.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Providers/SensorServiceProvider.php b/app/Providers/SensorServiceProvider.php index 7c1aa8a4..e912a501 100644 --- a/app/Providers/SensorServiceProvider.php +++ b/app/Providers/SensorServiceProvider.php @@ -111,7 +111,7 @@ public function fetch($sensorId) 'value' => rand(0, 10) , 'gatewayName' => 'string', 'realDeviceId' => 0, - 'realSensorId'=> 0, + 'realSensorId' => 0, ));//todo sostituire con json_decode($this->request->get('/data/' . $sensorId, $this->setHeaders())->getBody()); } catch (RequestException $e) { $this->isExpired($e); From c7792f214865d5d538626e1eeea790e06aa5e86e Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Sun, 5 Apr 2020 11:03:26 +0200 Subject: [PATCH 053/124] refactor --- app/Http/Controllers/ViewController.php | 8 ++++---- ...ViewGraphProvider.php => ViewGraphServiceProvider.php} | 2 +- .../{ViewProvider.php => ViewServiceProvider.php} | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) rename app/Providers/{ViewGraphProvider.php => ViewGraphServiceProvider.php} (97%) rename app/Providers/{ViewProvider.php => ViewServiceProvider.php} (97%) diff --git a/app/Http/Controllers/ViewController.php b/app/Http/Controllers/ViewController.php index b7e95a70..4a429229 100644 --- a/app/Http/Controllers/ViewController.php +++ b/app/Http/Controllers/ViewController.php @@ -4,8 +4,8 @@ use App\Models\View; use App\Models\ViewGraph; -use App\Providers\ViewGraphProvider; -use App\Providers\ViewProvider; +use App\Providers\ViewGraphServiceProvider; +use App\Providers\ViewServiceProvider; class ViewController extends Controller { @@ -20,8 +20,8 @@ class ViewController extends Controller public function __construct() { $this->middleware('auth'); - $this->viewProvider = new ViewProvider(); - $this->viewGraphProvider = new ViewGraphProvider(); + $this->viewProvider = new ViewServiceProvider(); + $this->viewGraphProvider = new ViewGraphServiceProvider(); } public function index() diff --git a/app/Providers/ViewGraphProvider.php b/app/Providers/ViewGraphServiceProvider.php similarity index 97% rename from app/Providers/ViewGraphProvider.php rename to app/Providers/ViewGraphServiceProvider.php index 2f7a71e6..1436bb14 100644 --- a/app/Providers/ViewGraphProvider.php +++ b/app/Providers/ViewGraphServiceProvider.php @@ -6,7 +6,7 @@ use GuzzleHttp\Client; use GuzzleHttp\Exception\RequestException; -class ViewGraphProvider extends BasicProvider +class ViewGraphServiceProvider extends BasicProvider { /** * @var Client diff --git a/app/Providers/ViewProvider.php b/app/Providers/ViewServiceProvider.php similarity index 97% rename from app/Providers/ViewProvider.php rename to app/Providers/ViewServiceProvider.php index 928a56f0..84417b4f 100644 --- a/app/Providers/ViewProvider.php +++ b/app/Providers/ViewServiceProvider.php @@ -6,7 +6,7 @@ use GuzzleHttp\Client; use GuzzleHttp\Exception\RequestException; -class ViewProvider extends BasicProvider +class ViewServiceProvider extends BasicProvider { /** * @var Client From 6cbe1ff5da585acbd3a4dc5a9f1d227358e2a9cf Mon Sep 17 00:00:00 2001 From: Giovanni Date: Mon, 6 Apr 2020 23:32:02 +0200 Subject: [PATCH 054/124] dataTables e correzione script --- package-lock.json | 6 +- package.json | 3 +- public/js/script.js | 96 +++++++++++++++------------ resources/js/app.js | 4 +- resources/views/layouts/app.blade.php | 2 - 5 files changed, 60 insertions(+), 51 deletions(-) diff --git a/package-lock.json b/package-lock.json index 58b36382..533e69f5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8684,10 +8684,10 @@ "jquery": ">=1.7" } }, - "datatables.net-dt": { + "datatables.net-bs4": { "version": "1.10.20", - "resolved": "https://registry.npmjs.org/datatables.net-dt/-/datatables.net-dt-1.10.20.tgz", - "integrity": "sha512-D+65buDke96a3WlJo2re+SbcAVfjPh2nsFZG198Vbkz3i1wKPdB+wkV2K07qYIiIpypcXWOnD2pz3MvnUqM9Tw==", + "resolved": "https://registry.npmjs.org/datatables.net-bs4/-/datatables.net-bs4-1.10.20.tgz", + "integrity": "sha512-kQmMUMsHMOlAW96ztdoFqjSbLnlGZQ63iIM82kHbmldsfYdzuyhbb4hTx6YNBi481WCO3iPSvI6YodNec46ZAw==", "requires": { "datatables.net": "1.10.20", "jquery": ">=1.7" diff --git a/package.json b/package.json index 7bb416c3..5ccbc8d7 100644 --- a/package.json +++ b/package.json @@ -46,8 +46,7 @@ }, "dependencies": { "apexcharts": "^3.17.1", - "datatables.net": "^1.10.20", - "datatables.net-dt": "^1.10.20", + "datatables.net-bs4": "^1.10.20", "vue-apexcharts": "^1.5.2" }, "jest": { diff --git a/public/js/script.js b/public/js/script.js index 32e3ce86..8f6d8f84 100644 --- a/public/js/script.js +++ b/public/js/script.js @@ -5,25 +5,37 @@ const form = document.querySelector("#sensorForm"); let trashes = document.querySelectorAll(".delete"); let numSensor = 1; -const tableUsers = document.querySelector(".dataTableUsers"); -$(document).ready(function () { - $(tableUsers).dataTable({ - "scrollX": false, - "pagingType": "full_numbers", - "language": { - "url": "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/Italian.json" - // "url": "dataTables.italian.lang" - } +const tables = document.querySelectorAll(".table"); +if (tables !== undefined) { + tables.forEach((table) => { + $(document).ready(function () { + $(table).dataTable({ + scrollX: false, + autoWidth: true, + pagingType: "simple_numbers", + language: { + url: + "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/Italian.json" + // "url": "dataTables.italian.lang" + } + }); + }); }); -}); + // non capisco perche torna null DC + // const pagination = document.querySelector("#dataTable_paginate"); + // const dataTableFilter = document.querySelector(".dataTables_filter"); + // console.log(dataTableFilter); + // pagination.addClass("float-right"); +} -addSensor.addEventListener("click", (e) => { - e.preventDefault(); - const sensorIdValue = document.querySelector("#inputSensorId").value; - const sensorTypeValue = document.querySelector("#inputSensorType").value; - // aggiunta sensore al dispositivo - if (sensorIdValue !== "" && sensorTypeValue !== "") { - sensorsList.innerHTML += ` +if (addSensor !== null) { + addSensor.addEventListener("click", (e) => { + e.preventDefault(); + const sensorIdValue = document.querySelector("#inputSensorId").value; + const sensorTypeValue = document.querySelector("#inputSensorType").value; + // aggiunta sensore al dispositivo + if (sensorIdValue !== "" && sensorTypeValue !== "") { + sensorsList.innerHTML += `
    ` - trashes = document.querySelectorAll(".delete"); - // eliminazione sensore aggiunto - trashes.forEach((trash) => { - trash.addEventListener("click", (e) => { - e.preventDefault(); - trash.parentElement.parentElement.remove(); + trashes = document.querySelectorAll(".delete"); + // eliminazione sensore aggiunto + trashes.forEach((trash) => { + trash.addEventListener("click", (e) => { + e.preventDefault(); + trash.parentElement.parentElement.remove(); + }); }); - }); - numSensor++; - form.reset(); - } else { - alert("Id e tipo di sensore necessitano di un valore"); - } -}); - + numSensor++; + form.reset(); + } else { + alert("Id e tipo di sensore necessitano di un valore"); + } + }); +} // aggiunta dispositivo -addDevice.addEventListener("click", (e) => { - const deviceIdValue = document.querySelector("#inputDeviceId").value; - const deviceNameValue = document.querySelector("#inputDeviceName").value; - if (deviceIdValue !== "" && deviceNameValue !== "") { - alert("Dispositivo aggiunto correttamente"); - } else { - e.preventDefault(); - alert("Id e nome del dispositivo necessitano di un valore"); - } -}); +if (addDevice !== null) { + addDevice.addEventListener("click", (e) => { + const deviceIdValue = document.querySelector("#inputDeviceId").value; + const deviceNameValue = document.querySelector("#inputDeviceName").value; + if (deviceIdValue !== "" && deviceNameValue !== "") { + alert("Dispositivo aggiunto correttamente"); + } else { + e.preventDefault(); + alert("Id e nome del dispositivo necessitano di un valore"); + } + }); +} diff --git a/resources/js/app.js b/resources/js/app.js index af4b1bcf..429186d3 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -6,9 +6,7 @@ require("./bootstrap"); -require("jquery"); - -// require("datatables.net")(); +require("datatables.net-bs4")(); window.Vue = require("vue"); diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index eee247bf..68061dfa 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -47,9 +47,7 @@ -{{----}} - {{----}} From 0e05ee01ddae3ec8873c945464476c8374cc59c9 Mon Sep 17 00:00:00 2001 From: Giovanni Date: Mon, 6 Apr 2020 23:33:32 +0200 Subject: [PATCH 055/124] Update app.blade.php --- resources/views/layouts/app.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index 68061dfa..964e4ec1 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -48,6 +48,6 @@ -{{----}} + From 582501e980cdfa8b9910c5f9e335c4f15b4d91b9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 Apr 2020 06:46:08 +0000 Subject: [PATCH 056/124] Bump minimist from 1.2.0 to 1.2.5 Bumps [minimist](https://github.com/substack/minimist) from 1.2.0 to 1.2.5. - [Release notes](https://github.com/substack/minimist/releases) - [Commits](https://github.com/substack/minimist/compare/1.2.0...1.2.5) Signed-off-by: dependabot[bot] --- package-lock.json | 70 ++--------------------------------------------- 1 file changed, 3 insertions(+), 67 deletions(-) diff --git a/package-lock.json b/package-lock.json index 58b36382..b01fe40b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1445,12 +1445,6 @@ "brace-expansion": "^1.1.7" } }, - "minimist": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true - }, "minipass": { "version": "2.9.0", "bundled": true, @@ -2374,12 +2368,6 @@ "brace-expansion": "^1.1.7" } }, - "minimist": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true - }, "minipass": { "version": "2.9.0", "bundled": true, @@ -3353,12 +3341,6 @@ "brace-expansion": "^1.1.7" } }, - "minimist": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true - }, "minipass": { "version": "2.9.0", "bundled": true, @@ -4289,12 +4271,6 @@ "brace-expansion": "^1.1.7" } }, - "minimist": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true - }, "minipass": { "version": "2.9.0", "bundled": true, @@ -7434,12 +7410,6 @@ "brace-expansion": "^1.1.7" } }, - "minimist": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true - }, "minipass": { "version": "2.9.0", "bundled": true, @@ -12629,12 +12599,6 @@ "brace-expansion": "^1.1.7" } }, - "minimist": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true - }, "minipass": { "version": "2.9.0", "bundled": true, @@ -14189,12 +14153,6 @@ "brace-expansion": "^1.1.7" } }, - "minimist": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true - }, "minipass": { "version": "2.9.0", "bundled": true, @@ -15056,12 +15014,6 @@ "brace-expansion": "^1.1.7" } }, - "minimist": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true - }, "minipass": { "version": "2.9.0", "bundled": true, @@ -15987,14 +15939,6 @@ "dev": true, "requires": { "minimist": "^1.2.5" - }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - } } }, "jsonfile": { @@ -16718,9 +16662,9 @@ } }, "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, "minipass": { @@ -16813,14 +16757,6 @@ "dev": true, "requires": { "minimist": "^1.2.5" - }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - } } }, "move-concurrently": { From 2b51a0f9e5ea3a1887cbf56af489dce74dbbe46b Mon Sep 17 00:00:00 2001 From: Giovanni Date: Tue, 7 Apr 2020 12:23:44 +0200 Subject: [PATCH 057/124] Datatable fix problem --- package.json | 1 + public/js/script.js | 11 +++++------ resources/js/app.js | 5 ++++- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 5ccbc8d7..ae341a80 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ }, "dependencies": { "apexcharts": "^3.17.1", + "datatables.net": "^1.10.20", "datatables.net-bs4": "^1.10.20", "vue-apexcharts": "^1.5.2" }, diff --git a/public/js/script.js b/public/js/script.js index 8f6d8f84..202ea061 100644 --- a/public/js/script.js +++ b/public/js/script.js @@ -6,6 +6,7 @@ let trashes = document.querySelectorAll(".delete"); let numSensor = 1; const tables = document.querySelectorAll(".table"); + if (tables !== undefined) { tables.forEach((table) => { $(document).ready(function () { @@ -14,19 +15,18 @@ if (tables !== undefined) { autoWidth: true, pagingType: "simple_numbers", language: { - url: - "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/Italian.json" + url: "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/Italian.json" // "url": "dataTables.italian.lang" - } + }, }); }); }); - // non capisco perche torna null DC - // const pagination = document.querySelector("#dataTable_paginate"); + // non capisco perchè torna null DC // const dataTableFilter = document.querySelector(".dataTables_filter"); // console.log(dataTableFilter); // pagination.addClass("float-right"); } +// document.querySelector("#dataTable_paginate").classList.add("float-right"); if (addSensor !== null) { addSensor.addEventListener("click", (e) => { @@ -61,7 +61,6 @@ if (addSensor !== null) { Elimina sensore - ` trashes = document.querySelectorAll(".delete"); diff --git a/resources/js/app.js b/resources/js/app.js index 429186d3..7268ccab 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -4,9 +4,12 @@ * building robust, powerful web applications using Vue and Laravel. */ +// window.$ = require("jquery"); + require("./bootstrap"); -require("datatables.net-bs4")(); +require("datatables.net"); +require("datatables.net-bs4"); window.Vue = require("vue"); From 9bdfd94880de6636dfa3415a8a26da82d696dfcd Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Tue, 7 Apr 2020 12:25:06 +0200 Subject: [PATCH 058/124] pulizia e fix --- app/Http/Controllers/Auth/LoginController.php | 2 +- app/Http/Controllers/DashboardController.php | 6 ++++-- app/Http/Controllers/DeviceController.php | 1 - app/Models/Device.php | 4 +--- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index 10bb385a..ff2ba4a3 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -126,7 +126,7 @@ protected function credentials(Request $request) * Handle a login request to the application. * * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\RedirectResponse|\Illuminate\Http\Response|void + * @return Response * * @throws \Illuminate\Validation\ValidationException */ diff --git a/app/Http/Controllers/DashboardController.php b/app/Http/Controllers/DashboardController.php index 620b59af..85e75699 100644 --- a/app/Http/Controllers/DashboardController.php +++ b/app/Http/Controllers/DashboardController.php @@ -24,8 +24,10 @@ public function index() $users = $userProvider->findAll();//utenti registrati $devices = $deviceProvider->findAll();//dispositivi registrati - $devicesEntity = $deviceProvider->findAllFromEntity($entityProvider->findFromUser($user->getAuthIdentifier())); - $usersEntity = $userProvider->findAllFromEntity($entityProvider->findFromUser($user->getAuthIdentifier())); + $entity = $entityProvider->findFromUser($user->getAuthIdentifier()); + + $devicesEntity = $deviceProvider->findAllFromEntity($entity->entityId); + $usersEntity = $userProvider->findAllFromEntity($entity->entityId); $usersActive = array_filter($users, function ($u) { return !$u->deleted; diff --git a/app/Http/Controllers/DeviceController.php b/app/Http/Controllers/DeviceController.php index c77b7386..247043c8 100644 --- a/app/Http/Controllers/DeviceController.php +++ b/app/Http/Controllers/DeviceController.php @@ -2,7 +2,6 @@ namespace App\Http\Controllers; -use App\Models\Device; use App\Providers\DeviceServiceProvider; use App\Providers\GatewayServiceProvider; use App\Providers\SensorServiceProvider; diff --git a/app/Models/Device.php b/app/Models/Device.php index 9659c8f6..5b4dea7c 100644 --- a/app/Models/Device.php +++ b/app/Models/Device.php @@ -2,11 +2,9 @@ namespace App\Models; -use App\Providers\EntityServiceProvider; -use App\Providers\SensorServiceProvider; use Illuminate\Database\Eloquent\Model; class Device extends Model { - protected $fillable = ['deviceId', 'name', 'frequency', 'realDeviceId']; + protected $fillable = ['deviceId', 'name', 'frequency', 'realDeviceIdDD']; } From 78e1f420574544ae8f489ccd22ba558b3f059b6c Mon Sep 17 00:00:00 2001 From: Mariano Date: Tue, 7 Apr 2020 12:29:17 +0200 Subject: [PATCH 059/124] Aggiornamento pacchetti --- package-lock.json | 104 +++++++++++++++++++++++----------------------- package.json | 8 ++-- 2 files changed, 56 insertions(+), 56 deletions(-) diff --git a/package-lock.json b/package-lock.json index 533e69f5..313e6ebc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4752,21 +4752,21 @@ } }, "@jest/transform": { - "version": "25.2.4", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.2.4.tgz", - "integrity": "sha512-6eRigvb+G6bs4kW5j1/y8wu4nCrmVuIe0epPBbiWaYlwawJ8yi1EIyK3d/btDqmBpN5GpN4YhR6iPPnDmkYdTA==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.2.6.tgz", + "integrity": "sha512-rZnjCjZf9avPOf9q/w9RUZ9Uc29JmB53uIXNJmNz04QbDMD5cR/VjfikiMKajBsXe2vnFl5sJ4RTt+9HPicauQ==", "dev": true, "requires": { "@babel/core": "^7.1.0", - "@jest/types": "^25.2.3", + "@jest/types": "^25.2.6", "babel-plugin-istanbul": "^6.0.0", "chalk": "^3.0.0", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.0.0", "graceful-fs": "^4.2.3", - "jest-haste-map": "^25.2.3", - "jest-regex-util": "^25.2.1", - "jest-util": "^25.2.3", + "jest-haste-map": "^25.2.6", + "jest-regex-util": "^25.2.6", + "jest-util": "^25.2.6", "micromatch": "^4.0.2", "pirates": "^4.0.1", "realpath-native": "^2.0.0", @@ -4840,9 +4840,9 @@ } }, "@jest/types": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.2.3.tgz", - "integrity": "sha512-6oLQwO9mKif3Uph3RX5J1i3S7X7xtDHWBaaaoeKw8hOzV6YUd0qDcYcHZ6QXMHDIzSr7zzrEa51o2Ovlj6AtKQ==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.2.6.tgz", + "integrity": "sha512-myJTTV37bxK7+3NgKc4Y/DlQ5q92/NOwZsZ+Uch7OXdElxOg61QYc72fPYNAjlvbnJ2YvbXLamIsa9tj48BmyQ==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -5488,9 +5488,9 @@ } }, "apexcharts": { - "version": "3.17.1", - "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.17.1.tgz", - "integrity": "sha512-zfeyHGSkz8iyCk461mbq5cpjhkGiTXz+NaVivCAbeqqRARg7oDDrwLD6MK+mA5Zl5MBqS2lXlcJP56C4rxq3BA==", + "version": "3.18.1", + "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.18.1.tgz", + "integrity": "sha512-xBhuEegV8RK1q3UVC/jezdN/bwTvCAcmjuOu+UutO+pFdM9qy6RifB4jKU/8Ek7ZPucmnDRDI2YJ0iXTKbzzYg==", "requires": { "svg.draggable.js": "^2.2.2", "svg.easing.js": "^2.0.0", @@ -5905,16 +5905,16 @@ } }, "babel-jest": { - "version": "25.2.4", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.2.4.tgz", - "integrity": "sha512-+yDzlyJVWrqih9i2Cvjpt7COaN8vUwCsKGtxJLzg6I0xhxD54K8mvDUCliPKLufyzHh/c5C4MRj4Vk7VMjOjIg==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.2.6.tgz", + "integrity": "sha512-MDJOAlwtIeIQiGshyX0d2PxTbV73xZMpNji40ivVTPQOm59OdRR9nYCkffqI7ugtsK4JR98HgNKbDbuVf4k5QQ==", "dev": true, "requires": { - "@jest/transform": "^25.2.4", - "@jest/types": "^25.2.3", + "@jest/transform": "^25.2.6", + "@jest/types": "^25.2.6", "@types/babel__core": "^7.1.0", "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^25.2.1", + "babel-preset-jest": "^25.2.6", "chalk": "^3.0.0", "slash": "^3.0.0" }, @@ -6036,9 +6036,9 @@ } }, "babel-plugin-jest-hoist": { - "version": "25.2.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.2.1.tgz", - "integrity": "sha512-HysbCQfJhxLlyxDbKcB2ucGYV0LjqK4h6dBoI3RtFuOxTiTWK6XGZMsHb0tGh8iJdV4hC6Z2GCHzVvDeh9i0lQ==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.2.6.tgz", + "integrity": "sha512-qE2xjMathybYxjiGFJg0mLFrz0qNp83aNZycWDY/SuHiZNq+vQfRQtuINqyXyue1ELd8Rd+1OhFSLjms8msMbw==", "dev": true, "requires": { "@types/babel__traverse": "^7.0.6" @@ -6460,14 +6460,14 @@ } }, "babel-preset-jest": { - "version": "25.2.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.2.1.tgz", - "integrity": "sha512-zXHJBM5iR8oEO4cvdF83AQqqJf3tJrXy3x8nfu2Nlqvn4cneg4Ca8M7cQvC5S9BzDDy1O0tZ9iXru9J6E3ym+A==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.2.6.tgz", + "integrity": "sha512-Xh2eEAwaLY9+SyMt/xmGZDnXTW/7pSaBPG0EMo7EuhvosFKVWYB6CqwYD31DaEQuoTL090oDZ0FEqygffGRaSQ==", "dev": true, "requires": { "@babel/plugin-syntax-bigint": "^7.0.0", "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "babel-plugin-jest-hoist": "^25.2.1" + "babel-plugin-jest-hoist": "^25.2.6" } }, "babel-runtime": { @@ -13402,19 +13402,19 @@ "dev": true }, "jest-haste-map": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.2.3.tgz", - "integrity": "sha512-pAP22OHtPr4qgZlJJFks2LLgoQUr4XtM1a+F5UaPIZNiCRnePA0hM3L7aiJ0gzwiNIYwMTfKRwG/S1L28J3A3A==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.2.6.tgz", + "integrity": "sha512-nom0+fnY8jwzelSDQnrqaKAcDZczYQvMEwcBjeL3PQ4MlcsqeB7dmrsAniUw/9eLkngT5DE6FhnenypilQFsgA==", "dev": true, "requires": { - "@jest/types": "^25.2.3", + "@jest/types": "^25.2.6", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "fsevents": "^2.1.2", "graceful-fs": "^4.2.3", - "jest-serializer": "^25.2.1", - "jest-util": "^25.2.3", - "jest-worker": "^25.2.1", + "jest-serializer": "^25.2.6", + "jest-util": "^25.2.6", + "jest-worker": "^25.2.6", "micromatch": "^4.0.2", "sane": "^4.0.3", "walker": "^1.0.7", @@ -13428,9 +13428,9 @@ "dev": true }, "jest-worker": { - "version": "25.2.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.2.1.tgz", - "integrity": "sha512-IHnpekk8H/hCUbBlfeaPZzU6v75bqwJp3n4dUrQuQOAgOneI4tx3jV2o8pvlXnDfcRsfkFIUD//HWXpCmR+evQ==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.2.6.tgz", + "integrity": "sha512-FJn9XDUSxcOR4cwDzRfL1z56rUofNTFs539FGASpd50RHdb6EVkhxQqktodW2mI49l+W3H+tFJDotCHUQF6dmA==", "dev": true, "requires": { "merge-stream": "^2.0.0", @@ -13754,9 +13754,9 @@ "dev": true }, "jest-regex-util": { - "version": "25.2.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.1.tgz", - "integrity": "sha512-wroFVJw62LdqTdkL508ZLV82FrJJWVJMIuYG7q4Uunl1WAPTf4ftPKrqqfec4SvOIlvRZUdEX2TFpWR356YG/w==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", + "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", "dev": true }, "jest-resolve": { @@ -15600,9 +15600,9 @@ } }, "jest-serializer": { - "version": "25.2.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.2.1.tgz", - "integrity": "sha512-fibDi7M5ffx6c/P66IkvR4FKkjG5ldePAK1WlbNoaU4GZmIAkS9Le/frAwRUFEX0KdnisSPWf+b1RC5jU7EYJQ==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.2.6.tgz", + "integrity": "sha512-RMVCfZsezQS2Ww4kB5HJTMaMJ0asmC0BHlnobQC6yEtxiFKIxohFA4QSXSabKwSggaNkqxn6Z2VwdFCjhUWuiQ==", "dev": true }, "jest-snapshot": { @@ -15655,12 +15655,12 @@ } }, "jest-util": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.2.3.tgz", - "integrity": "sha512-7tWiMICVSo9lNoObFtqLt9Ezt5exdFlWs5fLe1G4XLY2lEbZc814cw9t4YHScqBkWMfzth8ASHKlYBxiX2rdCw==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.2.6.tgz", + "integrity": "sha512-gpXy0H5ymuQ0x2qgl1zzHg7LYHZYUmDEq6F7lhHA8M0eIwDB2WteOcCnQsohl9c/vBKZ3JF2r4EseipCZz3s4Q==", "dev": true, "requires": { - "@jest/types": "^25.2.3", + "@jest/types": "^25.2.6", "chalk": "^3.0.0", "is-ci": "^2.0.0", "make-dir": "^3.0.0" @@ -18446,9 +18446,9 @@ "dev": true }, "prettier": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.0.2.tgz", - "integrity": "sha512-5xJQIPT8BraI7ZnaDwSbu5zLrB6vvi8hVV58yHQ+QK64qrY40dULy0HSRlQ2/2IdzeBpjhDkqdcFBnFeDEMVdg==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.0.4.tgz", + "integrity": "sha512-SVJIQ51spzFDvh4fIbCLvciiDMCrRhlN3mbZvv/+ycjvmF5E73bKdGfU8QDLNmjYJf+lsGnDBC4UUnvTe5OO0w==", "dev": true }, "prettier-linter-helpers": { @@ -21285,9 +21285,9 @@ "dev": true }, "vue-apexcharts": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/vue-apexcharts/-/vue-apexcharts-1.5.2.tgz", - "integrity": "sha512-m7IIyql4yU6cLTu5RODx3DcdxCekmNRzUh7lEoybq2MXcgabmBPhUn8qgXNx1HucWiMNOdXfwq/L6TfCbKnfMw==" + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/vue-apexcharts/-/vue-apexcharts-1.5.3.tgz", + "integrity": "sha512-ImbvQxgwbLMrEc9/veDIJ7lzncf1fJDSNqqK0x2YDNUCq5tE9uqM4Gb/ZYUB5WlDM3vDpzwDEmsidWcaO6/WXQ==" }, "vue-eslint-parser": { "version": "7.0.0", diff --git a/package.json b/package.json index ae341a80..d7c29c19 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "@vue/test-utils": "^1.0.0-beta.32", "axios": "^0.19", "babel-core": "^7.0.0-bridge.0", - "babel-jest": "^25.2.4", + "babel-jest": "^25.2.6", "babel-loader": "^8.1.0", "babel-plugin-syntax-dynamic-import": "^6.18.0", "babel-polyfill": "^6.26.0", @@ -36,7 +36,7 @@ "laravel-mix": "^5.0.4", "lodash": "^4.17.13", "popper.js": "^1.12", - "prettier": "^2.0.2", + "prettier": "^2.0.4", "resolve-url-loader": "^2.3.1", "sass": "^1.26.3", "sass-loader": "^8.0.0", @@ -45,10 +45,10 @@ "vue-template-compiler": "^2.6.10" }, "dependencies": { - "apexcharts": "^3.17.1", + "apexcharts": "^3.18.1", "datatables.net": "^1.10.20", "datatables.net-bs4": "^1.10.20", - "vue-apexcharts": "^1.5.2" + "vue-apexcharts": "^1.5.3" }, "jest": { "moduleFileExtensions": [ From 14de2b8d9cf141bd36e5c62e31e80f543f8ec5f6 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Tue, 7 Apr 2020 12:33:27 +0200 Subject: [PATCH 060/124] ci fix --- app/Providers/SensorServiceProvider.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Providers/SensorServiceProvider.php b/app/Providers/SensorServiceProvider.php index 7c1aa8a4..e912a501 100644 --- a/app/Providers/SensorServiceProvider.php +++ b/app/Providers/SensorServiceProvider.php @@ -111,7 +111,7 @@ public function fetch($sensorId) 'value' => rand(0, 10) , 'gatewayName' => 'string', 'realDeviceId' => 0, - 'realSensorId'=> 0, + 'realSensorId' => 0, ));//todo sostituire con json_decode($this->request->get('/data/' . $sensorId, $this->setHeaders())->getBody()); } catch (RequestException $e) { $this->isExpired($e); From 25a237e830cd918e78d560f43bf5a2a924ed4a44 Mon Sep 17 00:00:00 2001 From: Mariano Date: Tue, 7 Apr 2020 12:53:19 +0200 Subject: [PATCH 061/124] Update edit.blade.php --- resources/views/settings/edit.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/settings/edit.blade.php b/resources/views/settings/edit.blade.php index 319d26c2..e9385b41 100644 --- a/resources/views/settings/edit.blade.php +++ b/resources/views/settings/edit.blade.php @@ -151,7 +151,7 @@
    - +
    From 9dd68c15a746f76ff133c0f8e38112112aae77cc Mon Sep 17 00:00:00 2001 From: Mariano Date: Tue, 7 Apr 2020 13:02:20 +0200 Subject: [PATCH 062/124] Update edit.blade.php --- resources/views/settings/edit.blade.php | 178 ++++++++++++------------ 1 file changed, 89 insertions(+), 89 deletions(-) diff --git a/resources/views/settings/edit.blade.php b/resources/views/settings/edit.blade.php index e9385b41..d57d507f 100644 --- a/resources/views/settings/edit.blade.php +++ b/resources/views/settings/edit.blade.php @@ -150,101 +150,101 @@
    -
    +
    - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    DispositivoSensoreSogliaValoreStatus
    DispositivoSensoreSogliaValoreStatus
    DispositivoSensoreSogliaValoreStatus
    DispositivoSensoreSogliaValoreStatus
    Disp1Sens1maggiore di10Attivo
    Disp1Sens1maggiore di10Attivo
    Disp1Sens1maggiore di10Attivo
    Disp1Sens1maggiore di10Attivo
    Disp1Sens1maggiore di10Attivo
    Disp1Sens1maggiore di10Attivo
    Disp1Sens1maggiore di10Attivo
    Disp1Sens1maggiore di10Attivo
    Disp1Sens1maggiore di10Attivo
    Disp1Sens1maggiore di10Attivo
    Disp1Sens1maggiore di10Attivo
    Disp1Sens1maggiore di10Attivo
    Disp1Sens1maggiore di10Attivo
    Disp1Sens1maggiore di10Attivo
    Disp1Sens1maggiore di10Attivo
    Disp1Sens1maggiore di10Attivo
    Disp1Sens1maggiore di10Attivo
    Disp1Sens1maggiore di10Attivo
    From da6f96a7098a9951d75ebcff0a34137662a56dd6 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Tue, 7 Apr 2020 14:48:36 +0200 Subject: [PATCH 063/124] fix info dashboard --- app/Http/Controllers/DashboardController.php | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/DashboardController.php b/app/Http/Controllers/DashboardController.php index 85e75699..10dca033 100644 --- a/app/Http/Controllers/DashboardController.php +++ b/app/Http/Controllers/DashboardController.php @@ -23,18 +23,23 @@ public function index() $entities = $entityProvider->findAll();//enti presenti $users = $userProvider->findAll();//utenti registrati $devices = $deviceProvider->findAll();//dispositivi registrati + $entity = null; + $devicesEntity = []; + $usersEntity = []; + $usersActiveEntity = []; - $entity = $entityProvider->findFromUser($user->getAuthIdentifier()); - - $devicesEntity = $deviceProvider->findAllFromEntity($entity->entityId); - $usersEntity = $userProvider->findAllFromEntity($entity->entityId); + if ($user->getRole() != 'Amministratore') { + $entity = $entityProvider->findFromUser($user->getAuthIdentifier()); + $devicesEntity = $deviceProvider->findAllFromEntity($entity->entityId); + $usersEntity = $userProvider->findAllFromEntity($entity->entityId); + $usersActiveEntity = array_filter($usersEntity, function ($u) { + return !$u->deleted; + }); + } $usersActive = array_filter($users, function ($u) { return !$u->deleted; }); - $usersActiveEntity = array_filter($usersEntity, function ($u) { - return !$u->deleted; - }); return view('dashboard.index', compact([ 'user', 'users', 'entities', 'devices', 'devicesEntity', 'usersEntity', 'usersActive', 'usersActiveEntity' ])); From db79fa3b5dda9184a0adf0cee68f63ce33cce942 Mon Sep 17 00:00:00 2001 From: Mariano Date: Tue, 7 Apr 2020 16:42:08 +0200 Subject: [PATCH 064/124] Fix linter webmix, Fix pagina view creazione --- public/js/script.js | 7 +- resources/views/layouts/app.blade.php | 2 +- resources/views/views/index.blade.php | 132 ++++++++++++++++---------- routes/breadcrumbs.php | 2 +- webpack.mix.js | 18 ++-- 5 files changed, 101 insertions(+), 60 deletions(-) diff --git a/public/js/script.js b/public/js/script.js index 202ea061..50acc88f 100644 --- a/public/js/script.js +++ b/public/js/script.js @@ -12,10 +12,11 @@ if (tables !== undefined) { $(document).ready(function () { $(table).dataTable({ scrollX: false, - autoWidth: true, + autoWidth: false, pagingType: "simple_numbers", language: { - url: "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/Italian.json" + url: + "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/Italian.json", // "url": "dataTables.italian.lang" }, }); @@ -26,6 +27,8 @@ if (tables !== undefined) { // console.log(dataTableFilter); // pagination.addClass("float-right"); } + + // document.querySelector("#dataTable_paginate").classList.add("float-right"); if (addSensor !== null) { diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index 964e4ec1..1bbd84fe 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -48,6 +48,6 @@ - + diff --git a/resources/views/views/index.blade.php b/resources/views/views/index.blade.php index facfa5f7..ad975671 100644 --- a/resources/views/views/index.blade.php +++ b/resources/views/views/index.blade.php @@ -1,60 +1,94 @@ @extends('layouts.app') @section('breadcrumbs', Breadcrumbs::render('views')) @section('content') -
    -
    -

    Views

    -
    -
    - - - - - Torna indietro - +
    +
    +

    Pagine view

    +
    + +
    +
    +
    +
    +
    + + Creazione pagina view +
    +
    +
    +
    + @csrf + @method('POST') +
    + +
    + + @error('viewName') + + {{ $message }} + + @enderror +
    +
    +
    +
    + +
    +
    +
    - -
    -
    -
    - - Creazione view -
    +
    +
    +
    +
    + + Informazioni sulle pagine view +
    +
    +
    +

    Attraverso le pagine view è possibile aggiungere dei grafici personalizzati eseguendo il + tracciamento dati di due sensori differenti. È possibile selezionare anche un'eventuale correlazione dei due dati tracciati, tra cui:

    +
      +
    • Covarianza
    • +
    • Correlazione di Pearson
    • +
    • Correlazione di Spearman
    • +
    +
    -
    -
    - @csrf - @method('POST') -
    - -
    - - @error('viewName') - - {{ $message }} - - @enderror +
    +
    +
    + @foreach($views as $view) +
    +
    +
    +
    +
    +
    {{$view->name}}
    + +
    +
    + +
    - -
    -
    -
    + @endforeach
    +
    @endsection diff --git a/routes/breadcrumbs.php b/routes/breadcrumbs.php index 733be6ae..fb2b9159 100644 --- a/routes/breadcrumbs.php +++ b/routes/breadcrumbs.php @@ -99,7 +99,7 @@ //Views Breadcrumbs::for('views', function ($trail) { $trail->parent('home'); - $trail->push('Gestione views', route('views.index')); + $trail->push('Pagine view', route('views.index')); }); Breadcrumbs::for('views.show', function ($trail, $viewId) { $trail->parent('views'); diff --git a/webpack.mix.js b/webpack.mix.js index df3856a0..93f23aa9 100644 --- a/webpack.mix.js +++ b/webpack.mix.js @@ -11,10 +11,14 @@ const mix = require('laravel-mix'); | */ -mix.js(['resources/js/app.js', - 'resources/js/sb-admin-2.js'], 'public/js') - .sass('resources/sass/app.scss', 'public/css') - .styles(['resources/css/fontawesome.css', - 'resources/css/sb-admin-2.css', - 'resources/css/theme-edit.css', ], 'public/css/theme.css') - .copyDirectory('resources/webfonts', 'public/webfonts'); +mix.js(["resources/js/app.js", "resources/js/sb-admin-2.js"], "public/js") + .sass("resources/sass/app.scss", "public/css") + .styles( + [ + "resources/css/fontawesome.css", + "resources/css/sb-admin-2.css", + "resources/css/theme-edit.css", + ], + "public/css/theme.css" + ) + .copyDirectory("resources/webfonts", "public/webfonts"); From d439ce4da1e098bdb57d507ab95b3ff1d0a62585 Mon Sep 17 00:00:00 2001 From: Mariano Date: Tue, 7 Apr 2020 17:33:27 +0200 Subject: [PATCH 065/124] Completamento pagine view --- resources/views/views/index.blade.php | 4 +- resources/views/views/show.blade.php | 214 ++++++++++++-------------- routes/breadcrumbs.php | 2 +- 3 files changed, 102 insertions(+), 118 deletions(-) diff --git a/resources/views/views/index.blade.php b/resources/views/views/index.blade.php index ad975671..158725d3 100644 --- a/resources/views/views/index.blade.php +++ b/resources/views/views/index.blade.php @@ -6,7 +6,7 @@

    Pagine view

    -

    Attraverso le pagine view è possibile aggiungere dei grafici personalizzati eseguendo il +

    Attraverso le pagine view è possibile aggiungere dei grafici personalizzati eseguendo il tracciamento dati di due sensori differenti. È possibile selezionare anche un'eventuale correlazione dei due dati tracciati, tra cui:

    • Covarianza
    • diff --git a/resources/views/views/show.blade.php b/resources/views/views/show.blade.php index 3dcc942c..84b4efbe 100644 --- a/resources/views/views/show.blade.php +++ b/resources/views/views/show.blade.php @@ -1,131 +1,115 @@ @extends('layouts.app') @section('breadcrumbs', Breadcrumbs::render('views.show', $view->viewId)) @section('content') -
      -
      -

      View {{$view->name}}

      -
      -
      - -
      -
      - -
      - -
      -
      -
      - - Creazione grafico -
      -
      -
      -
      - @csrf - @method('POST') -
      - -
      -
      - - @error('sensor1') - - {{ $message }} - - @enderror -
      -
      -
      -
      - -
      -
      - - @error('sensor2') - - {{ $message }} - - @enderror +
      +
      +

      {{$view->name}}

      +
      + + + + + Torna indietro + +
      +
      +
      + +
      + + Aggiungi grafico pagina view +
      +
      +
      +
      + + @csrf + @method('POST') +
      + +
      +
      + + @error('sensor1') + + {{ $message }} + + @enderror +
      +
      -
      -
      -
      - -
      -
      - - @error('sensor2') - - {{ $message }} - - @enderror +
      + +
      +
      + + @error('sensor2') + + {{ $message }} + + @enderror +
      +
      -
      -
      -
      - -
      -
      - - @error('correlation') - - {{ $message }} - - @enderror +
      + +
      +
      + + @error('correlation') + + {{ $message }} + + @enderror +
      +
      + +
      +
      - -
      -
      +
      + +
      + @foreach($graphs as $graph) +
      +
      +
      +
      Dati real-time +
      + + Elimina + - @foreach($graphs as $graph) -
      -
      -
      -
      Dati real-time
      -
      -
      - -
      -
      - -
      +
      +
      +
      - @endforeach +
      + @endforeach
      +
      @endsection diff --git a/routes/breadcrumbs.php b/routes/breadcrumbs.php index fb2b9159..4771f39f 100644 --- a/routes/breadcrumbs.php +++ b/routes/breadcrumbs.php @@ -103,5 +103,5 @@ }); Breadcrumbs::for('views.show', function ($trail, $viewId) { $trail->parent('views'); - $trail->push('view' . $viewId, route('views.show', ['viewId' => $viewId])); + $trail->push('#' . $viewId, route('views.show', ['viewId' => $viewId])); }); From dfac2e03002b6e31cea0682e8590ae56506d9146 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Tue, 7 Apr 2020 18:05:18 +0200 Subject: [PATCH 066/124] Auto stash before merge of "feature/backend" and "develop" --- app/Http/Controllers/SettingsController.php | 17 ++-------- app/Http/Controllers/ViewController.php | 36 ++++++--------------- app/Models/View.php | 2 +- app/Models/ViewGraph.php | 2 +- app/Providers/ViewGraphServiceProvider.php | 8 ++--- package-lock.json | 5 +++ package.json | 1 + resources/js/components/DoubleChart.vue | 30 +++++++++++++---- resources/views/sensors/show.blade.php | 7 ++-- resources/views/views/show.blade.php | 7 +++- 10 files changed, 56 insertions(+), 59 deletions(-) diff --git a/app/Http/Controllers/SettingsController.php b/app/Http/Controllers/SettingsController.php index ddf0d8ba..1345a96a 100644 --- a/app/Http/Controllers/SettingsController.php +++ b/app/Http/Controllers/SettingsController.php @@ -2,10 +2,7 @@ namespace App\Http\Controllers; -use App\Providers\RouteServiceProvider; use App\Providers\UserServiceProvider; -use GuzzleHttp\Client; -use Illuminate\Contracts\Support\Renderable; use Illuminate\Support\Facades\Auth; class SettingsController extends Controller @@ -20,21 +17,11 @@ public function __construct() $this->middleware('auth'); } - /** - * Show the application dashboard. - * - * @return Renderable - */ - public function index() - { - $user = Auth::user(); - return view('settings.index', compact('user')); - } - public function edit() { $user = Auth::user(); - return view('settings.edit', compact('user')); + $alerts = [];//todo faker alert + return view('settings.edit', compact(['user','alerts'])); } public function update() diff --git a/app/Http/Controllers/ViewController.php b/app/Http/Controllers/ViewController.php index 4a429229..7bb7741d 100644 --- a/app/Http/Controllers/ViewController.php +++ b/app/Http/Controllers/ViewController.php @@ -4,6 +4,7 @@ use App\Models\View; use App\Models\ViewGraph; +use App\Providers\SensorServiceProvider; use App\Providers\ViewGraphServiceProvider; use App\Providers\ViewServiceProvider; @@ -11,6 +12,7 @@ class ViewController extends Controller { private $viewProvider; private $viewGraphProvider; + private $sensorProvider; /** * Create a new controller instance. @@ -22,41 +24,21 @@ public function __construct() $this->middleware('auth'); $this->viewProvider = new ViewServiceProvider(); $this->viewGraphProvider = new ViewGraphServiceProvider(); + $this->sensorProvider = new SensorServiceProvider(); } public function index() { - //$views = $this->viewProvider->findAll(); - //FAKER - $view = new View(); - $arr1 = array_combine( - array('name', 'userId', 'viewId', 'viewGraphId'), - array("Vista1", "1", "1","1") - ); - $view->fill($arr1); - $views[] = $view; - //todo remove + $views = $this->viewProvider->findAll(); return view('views.index', compact('views')); } public function show($viewId) { - //$graphs = $this->viewGraphProvider->findAllFromView($viewId); - //FAKER - $view = new View(); - $arr1 = array_combine( - array('name', 'userId', 'viewId', 'viewGraphId'), - array("Vista1", "1", "1","1") - ); - $view->fill($arr1); - $viewgraph = new ViewGraph(); - $arr = array_combine( - array('viewId', 'correlation', 'sensorId1', 'sensorId2', 'viewGraphId'), - array("1", "0", "1","1","1") - ); - $viewgraph->fill($arr); - $graphs[] = $viewgraph; - //TODO remove - return view('views.show', compact(['graphs','view'])); + $graphs = $this->viewGraphProvider->findAllFromView($viewId); + $view = $this->viewProvider->find($viewId); + $sensor1 = $this->sensorProvider->find(1,1); + $sensor2 = $this->sensorProvider->find(1,2); + return view('views.show', compact(['graphs','view', 'sensor1', 'sensor2'])); } } diff --git a/app/Models/View.php b/app/Models/View.php index 3e3c1fab..75f0bb64 100644 --- a/app/Models/View.php +++ b/app/Models/View.php @@ -6,5 +6,5 @@ class View extends Model { - protected $fillable = ['name', 'userId', 'viewId', 'viewGraphId']; + protected $fillable = ['name', 'user', 'viewId']; } diff --git a/app/Models/ViewGraph.php b/app/Models/ViewGraph.php index 3536d629..593d3a71 100644 --- a/app/Models/ViewGraph.php +++ b/app/Models/ViewGraph.php @@ -6,5 +6,5 @@ class ViewGraph extends Model { - protected $fillable = ['viewId', 'correlation', 'sensorId1', 'sensorId2', 'viewGraphId']; + protected $fillable = ['view', 'correlation', 'sensor1', 'sensor2', 'viewGraphId']; } diff --git a/app/Providers/ViewGraphServiceProvider.php b/app/Providers/ViewGraphServiceProvider.php index 1436bb14..484f01b4 100644 --- a/app/Providers/ViewGraphServiceProvider.php +++ b/app/Providers/ViewGraphServiceProvider.php @@ -17,7 +17,7 @@ public function __construct() { parent::__construct(app()); $this->request = new Client([ - 'base_uri' => config('app.api') . '/viewsGraphs/', + 'base_uri' => config('app.api') . '/viewGraphs/', 'headers' => [ 'Content-Type' => 'application/json', ] @@ -48,13 +48,13 @@ public function findAll() { try { $response = json_decode($this->request->get('', $this->setHeaders())->getBody()); - $graph = []; + $graphs = []; foreach ($response as $g) { $graph = new ViewGraph(); $graph->fill((array)$g); - $graph[] = $graph; + $graphs[] = $graph; } - return $graph; + return $graphs; } catch (RequestException $e) { abort($e->getCode(), $e->getResponse()->getReasonPhrase()); return null; diff --git a/package-lock.json b/package-lock.json index 95373593..83b45361 100644 --- a/package-lock.json +++ b/package-lock.json @@ -984,6 +984,11 @@ "minimist": "^1.2.0" } }, + "@elstats/covariance": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@elstats/covariance/-/covariance-1.1.0.tgz", + "integrity": "sha512-2nlSU4nA+lUJeFBCVWerqJY7LF+sk2ClydNa07vHvXPIltd1rswG+iwyuhxw3lqTz3CVQ5jzbl9G8n01gFRU2w==" + }, "@istanbuljs/load-nyc-config": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.0.0.tgz", diff --git a/package.json b/package.json index d7c29c19..fd2191f6 100644 --- a/package.json +++ b/package.json @@ -45,6 +45,7 @@ "vue-template-compiler": "^2.6.10" }, "dependencies": { + "@elstats/covariance": "^1.1.0", "apexcharts": "^3.18.1", "datatables.net": "^1.10.20", "datatables.net-bs4": "^1.10.20", diff --git a/resources/js/components/DoubleChart.vue b/resources/js/components/DoubleChart.vue index 9d8b94f2..8cdedb0c 100644 --- a/resources/js/components/DoubleChart.vue +++ b/resources/js/components/DoubleChart.vue @@ -19,8 +19,9 @@ diff --git a/resources/views/sensors/show.blade.php b/resources/views/sensors/show.blade.php index 807d5a63..c7d1cb2c 100644 --- a/resources/views/sensors/show.blade.php +++ b/resources/views/sensors/show.blade.php @@ -12,10 +12,9 @@
      Dati real-time
      - +
      @endsection diff --git a/resources/views/views/show.blade.php b/resources/views/views/show.blade.php index 84b4efbe..2d332a44 100644 --- a/resources/views/views/show.blade.php +++ b/resources/views/views/show.blade.php @@ -98,9 +98,14 @@ Elimina -
      + correlation}} + > +
      - +
      - + @@ -162,16 +162,6 @@ - - - - - - - - - - From 63a018d00dedc14b2d9136ef0132e9f93a21ffe5 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Tue, 7 Apr 2020 19:13:22 +0200 Subject: [PATCH 068/124] view on line --- app/Http/Controllers/ViewController.php | 14 ++++++++++++-- package-lock.json | 16 ++++++++++++++-- package.json | 2 ++ resources/js/components/DoubleChart.vue | 20 +++++++++++++++++--- resources/views/views/show.blade.php | 6 ------ 5 files changed, 45 insertions(+), 13 deletions(-) diff --git a/app/Http/Controllers/ViewController.php b/app/Http/Controllers/ViewController.php index 7bb7741d..a90b481a 100644 --- a/app/Http/Controllers/ViewController.php +++ b/app/Http/Controllers/ViewController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers; +use App\Models\Sensor; use App\Models\View; use App\Models\ViewGraph; use App\Providers\SensorServiceProvider; @@ -37,8 +38,17 @@ public function show($viewId) { $graphs = $this->viewGraphProvider->findAllFromView($viewId); $view = $this->viewProvider->find($viewId); - $sensor1 = $this->sensorProvider->find(1,1); - $sensor2 = $this->sensorProvider->find(1,2); + $sensors = $this->sensorProvider->findAll(); + $sensor1 = null; + $sensor2 = null; + foreach ($graphs as $graph){ + foreach ($sensors as $sensor) { + if ($sensor->realSensorId == $graph->sensor1) + $sensor1 = $sensor; + if ($sensor->realSensorId == $graph->sensor2) + $sensor2 = $sensor; + } + } return view('views.show', compact(['graphs','view', 'sensor1', 'sensor2'])); } } diff --git a/package-lock.json b/package-lock.json index 83b45361..0f180a3d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8259,6 +8259,11 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, + "correlation-rank": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/correlation-rank/-/correlation-rank-0.2.0.tgz", + "integrity": "sha512-+Ay8bqb5mBxE2ROjNTNruk4/uImhYQOFmvJNxmU+vUATAO1O/TdX2T3aPhuPGVrBny2FcNV80/v1hPbJFBUmGw==" + }, "cosmiconfig": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", @@ -16308,8 +16313,7 @@ "lodash": { "version": "4.17.15", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" }, "lodash._baseassign": { "version": "3.2.0", @@ -20125,6 +20129,14 @@ } } }, + "spearman-rho": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/spearman-rho/-/spearman-rho-1.0.6.tgz", + "integrity": "sha1-ZuBM/6Olz8dSv/fBp5X2+okJ0/Y=", + "requires": { + "lodash": "^4.17.4" + } + }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", diff --git a/package.json b/package.json index fd2191f6..69a16a4d 100644 --- a/package.json +++ b/package.json @@ -47,8 +47,10 @@ "dependencies": { "@elstats/covariance": "^1.1.0", "apexcharts": "^3.18.1", + "correlation-rank": "^0.2.0", "datatables.net": "^1.10.20", "datatables.net-bs4": "^1.10.20", + "spearman-rho": "^1.0.6", "vue-apexcharts": "^1.5.3" }, "jest": { diff --git a/resources/js/components/DoubleChart.vue b/resources/js/components/DoubleChart.vue index 8cdedb0c..f59d3a84 100644 --- a/resources/js/components/DoubleChart.vue +++ b/resources/js/components/DoubleChart.vue @@ -20,9 +20,12 @@ diff --git a/resources/js/components/SingleChart.vue b/resources/js/components/SingleChart.vue index 0480536a..c85579bc 100644 --- a/resources/js/components/SingleChart.vue +++ b/resources/js/components/SingleChart.vue @@ -19,96 +19,98 @@ diff --git a/resources/views/views/show.blade.php b/resources/views/views/show.blade.php index e16fb122..be81d642 100644 --- a/resources/views/views/show.blade.php +++ b/resources/views/views/show.blade.php @@ -113,11 +113,11 @@
      - correlation}} - > + correlation}} + >
      From ab27fdb0f0821b83278824d901b00b7de7a0f8fb Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Thu, 9 Apr 2020 11:31:38 +0200 Subject: [PATCH 079/124] fix --- app/Http/Controllers/DeviceController.php | 2 +- app/Providers/DeviceServiceProvider.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/DeviceController.php b/app/Http/Controllers/DeviceController.php index 247043c8..71a10731 100644 --- a/app/Http/Controllers/DeviceController.php +++ b/app/Http/Controllers/DeviceController.php @@ -52,7 +52,7 @@ public function index() $devicesOnGateways = []; foreach ($gateways as $g) { $sensors = []; - $devices = $this->deviceProvider->findAll();//todo sostituire con findAllFromGateway($g->gatewayId); + $devices = $this->deviceProvider->findAllFromGateway($g->gatewayId); foreach ($devices as $d) { $sensors[$d->deviceId] = count($this->sensorProvider->findAllFromDevice($d->deviceId)); } diff --git a/app/Providers/DeviceServiceProvider.php b/app/Providers/DeviceServiceProvider.php index 3a580c9b..3590d67e 100644 --- a/app/Providers/DeviceServiceProvider.php +++ b/app/Providers/DeviceServiceProvider.php @@ -27,7 +27,7 @@ public function __construct() { parent::__construct(app()); $this->request = new Client([ - 'base_uri' => config('app.api') . '/devices/', + 'base_uri' => config('app.api') . '/devices', 'headers' => [ 'Content-Type' => 'application/json' ] From bf3003708973d777625a9b95117f7a0d16a7c721 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Thu, 9 Apr 2020 11:36:53 +0200 Subject: [PATCH 080/124] correzione redirect per providers --- app/Providers/BasicProvider.php | 2 +- app/Providers/SensorServiceProvider.php | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/Providers/BasicProvider.php b/app/Providers/BasicProvider.php index e74d2ee5..5ac24df7 100644 --- a/app/Providers/BasicProvider.php +++ b/app/Providers/BasicProvider.php @@ -18,7 +18,7 @@ protected function isExpired(RequestException $e) if ($e->getCode() == 419/*fai il controllo del token*/) { session()->invalidate(); session()->flush(); - return redirect('login'); + return redirect(route('login')); } } diff --git a/app/Providers/SensorServiceProvider.php b/app/Providers/SensorServiceProvider.php index e912a501..544733c1 100644 --- a/app/Providers/SensorServiceProvider.php +++ b/app/Providers/SensorServiceProvider.php @@ -112,7 +112,8 @@ public function fetch($sensorId) 'gatewayName' => 'string', 'realDeviceId' => 0, 'realSensorId' => 0, - ));//todo sostituire con json_decode($this->request->get('/data/' . $sensorId, $this->setHeaders())->getBody()); + ));//todo sostituire con + // json_decode($this->request->get('/data/' . $sensorId, $this->setHeaders())->getBody()); } catch (RequestException $e) { $this->isExpired($e); return NAN; From ca45d4e48f5cba20670a7b8b3de30b33943cf71f Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Thu, 9 Apr 2020 16:22:28 +0200 Subject: [PATCH 081/124] Sistemati gli alert nel settings --- app/Http/Controllers/SettingsController.php | 31 ++++- app/Models/Alert.php | 17 +++ app/Providers/AlertServiceProvider.php | 83 +++++++++++++ app/Providers/DeviceServiceProvider.php | 4 +- app/Providers/EntityServiceProvider.php | 8 +- resources/views/settings/edit.blade.php | 127 ++++++-------------- resources/views/views/show.blade.php | 13 +- routes/web.php | 1 + 8 files changed, 189 insertions(+), 95 deletions(-) create mode 100644 app/Models/Alert.php create mode 100644 app/Providers/AlertServiceProvider.php diff --git a/app/Http/Controllers/SettingsController.php b/app/Http/Controllers/SettingsController.php index 1345a96a..63a714ba 100644 --- a/app/Http/Controllers/SettingsController.php +++ b/app/Http/Controllers/SettingsController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers; +use App\Providers\AlertServiceProvider; use App\Providers\UserServiceProvider; use Illuminate\Support\Facades\Auth; @@ -12,15 +13,18 @@ class SettingsController extends Controller * * @return void */ + private $provider; + public function __construct() { $this->middleware('auth'); + $this->provider = new AlertServiceProvider(); } public function edit() { $user = Auth::user(); - $alerts = [];//todo faker alert + $alerts = $this->provider->findAll(); return view('settings.edit', compact(['user','alerts'])); } @@ -47,4 +51,29 @@ public function update() $service->update($user->getAuthIdentifier(), json_encode($data)); return redirect('/settings/edit'); } + + public function updateAlerts() + { + $alerts = $this->provider->findAll(); + $data = request()->validate([ + 'alerts.*' => 'required|numeric' + ])['alerts']; + $enable = []; + $disable = []; + foreach ($alerts['enable'] as $a) { + $enable[] = $a->alertId; + } + foreach ($alerts['disable'] as $a) { + $disable[] = $a->alertId; + } + $toEnable = array_diff($data, $enable); + $toDisable = array_diff($enable, $data); + foreach ($toEnable as $e) { + $this->provider->enable($e); + } + foreach ($toDisable as $d) { + $this->provider->disable($d); + } + return redirect('/settings/edit'); + } } diff --git a/app/Models/Alert.php b/app/Models/Alert.php new file mode 100644 index 00000000..a831f82d --- /dev/null +++ b/app/Models/Alert.php @@ -0,0 +1,17 @@ +relType[$this->type]; + } +} diff --git a/app/Providers/AlertServiceProvider.php b/app/Providers/AlertServiceProvider.php new file mode 100644 index 00000000..0c4d20bb --- /dev/null +++ b/app/Providers/AlertServiceProvider.php @@ -0,0 +1,83 @@ +request = new Client([ + 'base_uri' => config('app.api') . '/alerts', + 'headers' => [ + 'Content-Type' => 'application/json' + ] + ]); + } + + /** + * @param mixed $identifier + * @return Alert + */ + public function find($identifier) + { + try { + $response = json_decode($this->request->get('/alerts/' . $identifier, $this->setHeaders())->getBody()); + $alert = new Alert(); + $alert->fill((array)$response); + return $alert; + } catch (RequestException $e) { + $this->isExpired($e); + abort($e->getCode(), $e->getResponse()->getReasonPhrase()); + return null; + } + } + + /** + * @return array|null + */ + public function findAll() + { + try { + $response = json_decode($this->request->get('', $this->setHeaders())->getBody()); + $alerts = ['enable' => [], 'disable' => []]; + foreach ($response->enabled as $e) { + $alert = new Alert(); + $alert->fill((array)$e); + $alerts['enable'][] = $alert; + } + foreach ($response->disabled as $e) { + $alert = new Alert(); + $alert->fill((array)$e); + $alerts['disable'][] = $alert; + } + return $alerts; + } catch (RequestException $e) { + $this->isExpired($e); + abort($e->getCode(), $e->getResponse()->getReasonPhrase()); + return null; + } + } + public function disable($identifier) + { + $this->request->post('/alerts/' . $identifier, array_merge($this->setHeaders(), [ + 'query' => ['userId' => Auth::id(), 'enable' => false] + ])); + } + public function enable($identifier) + { + $this->request->post('/alerts/' . $identifier, array_merge($this->setHeaders(), [ + 'query' => ['userId' => Auth::id(), 'enable' => true] + ])); + } +} diff --git a/app/Providers/DeviceServiceProvider.php b/app/Providers/DeviceServiceProvider.php index 3590d67e..17ab8eda 100644 --- a/app/Providers/DeviceServiceProvider.php +++ b/app/Providers/DeviceServiceProvider.php @@ -79,7 +79,7 @@ public function findAllFromEntity($entity) { try { $response = json_decode($this->request->get('', array_merge($this->setHeaders(), [ - 'query' => 'entityId=' . $entity + 'query' => ['entityId' => $entity] ]))->getBody()); $devices = []; foreach ($response as $d) { @@ -98,7 +98,7 @@ public function findAllFromGateway($gateway) { try { $response = json_decode($this->request->get('', array_merge($this->setHeaders(), [ - 'query' => 'gatewayId=' . $gateway + 'query' => ['gatewayId' => $gateway] ]))->getBody()); $devices = []; foreach ($response as $d) { diff --git a/app/Providers/EntityServiceProvider.php b/app/Providers/EntityServiceProvider.php index a391c22f..c64be872 100644 --- a/app/Providers/EntityServiceProvider.php +++ b/app/Providers/EntityServiceProvider.php @@ -27,7 +27,7 @@ public function __construct() { parent::__construct(app()); $this->request = new Client([ - 'base_uri' => config('app.api') . '/entities/', + 'base_uri' => config('app.api') . '/entities', 'headers' => [ 'Content-Type' => 'application/json' ] @@ -41,7 +41,7 @@ public function __construct() public function find($identifier) { try { - $response = json_decode($this->request->get($identifier, $this->setHeaders())->getBody()); + $response = json_decode($this->request->get('/entities/' . $identifier, $this->setHeaders())->getBody()); $entity = new Entity(); $entity->fill((array)$response); return $entity; @@ -77,11 +77,11 @@ public function findAll() * @param $deviceId * @return Entity|null */ - public function findFromDevice($deviceId) + public function findFromSensor($sensorId) { try { $response = json_decode($this->request->get('', array_merge($this->setHeaders(), [ - 'query' => 'deviceId=' . $deviceId + 'query' => 'sensor=' . $sensorId ]))->getBody()); $entity = new Entity(); $entity->fill((array)$response); diff --git a/resources/views/settings/edit.blade.php b/resources/views/settings/edit.blade.php index 056d0381..5835d98b 100644 --- a/resources/views/settings/edit.blade.php +++ b/resources/views/settings/edit.blade.php @@ -148,95 +148,48 @@
      Notifiche alert
      -
      -
      Dispositivo Sensore SogliaStatus
      DispositivoSensoreSogliaValoreStatus
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      DispositivoSensoreSogliaValoreStatus
      Disp1Sens1maggiore di10Attivo
      Disp1Sens1maggiore di10Attivo
      Disp1Sens1maggiore di10Attivo
      Disp1Sens1maggiore di10Attivo
      Disp1Sens1maggiore di10Attivo
      Disp1Sens1maggiore di10Attivo
      Disp1Sens1maggiore di10Attivo
      Disp1Sens1maggiore di10Attivo
      Disp1Sens1maggiore di10Attivo
      +
      + @csrf + @method('POST') + + + + + + + + + + + + + @foreach($alerts as $status => $a) + @foreach($a as $alert) + + + + + + + @if($status == "enable") + + @else + + @endif + + @endforeach + @endforeach + +
      DispositivoSensoreSogliaValoreStatus
      Disp1{{$alert->sensor}}{{$alert->getType()}}{{$alert->threshold}}AttivoDisattivo
      + +
      diff --git a/resources/views/views/show.blade.php b/resources/views/views/show.blade.php index be81d642..c260a14b 100644 --- a/resources/views/views/show.blade.php +++ b/resources/views/views/show.blade.php @@ -11,6 +11,17 @@ Torna indietro + + + + + Elimina View + +
      @@ -20,7 +31,7 @@ Aggiungi grafico pagina view -
      +
      @csrf diff --git a/routes/web.php b/routes/web.php index 388047d5..5dbb0ca2 100644 --- a/routes/web.php +++ b/routes/web.php @@ -22,6 +22,7 @@ //routes per gestione profilo Route::get('/settings/edit', 'SettingsController@edit')->name('settings.edit'); +Route::post('/settings', 'SettingsController@updateAlerts')->name('settings.updateAlerts'); Route::put('/settings', 'SettingsController@update')->name('settings.update'); //routes per gestione user From da2ea4874d15d3ec6f68457365a13bda1c515cd8 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Thu, 9 Apr 2020 16:26:47 +0200 Subject: [PATCH 082/124] aggiunta una relazione --- app/Models/Alert.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Models/Alert.php b/app/Models/Alert.php index a831f82d..83a4a4a7 100644 --- a/app/Models/Alert.php +++ b/app/Models/Alert.php @@ -7,7 +7,7 @@ class Alert extends Model { protected $fillable = ['threshold', 'type', 'deleted', 'entity', 'sensor', 'lastSent', 'alertId']; - private $relType = ['minore di', 'maggiore di']; + private $relType = ['minore di', 'maggiore di', 'uguale a']; public function getType() From c070253fc95f9487c40623c7d4b0238e6cf8cac7 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Thu, 9 Apr 2020 18:27:33 +0200 Subject: [PATCH 083/124] fix vari --- app/Http/Controllers/UserController.php | 6 +++--- app/Providers/EntityServiceProvider.php | 4 ++-- app/Providers/UserServiceProvider.php | 7 ++++--- resources/views/users/create.blade.php | 4 ++-- resources/views/users/index.blade.php | 3 +++ routes/web.php | 2 +- 6 files changed, 15 insertions(+), 11 deletions(-) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index e48f8a20..97e28cec 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -88,17 +88,17 @@ public function store() 'email' => 'required|email', 'entityId' => 'nullable|numeric|required_if:' . Auth::user()->getRole() . ',==,Admin', 'type' => 'nullable|numeric|required_if:' . Auth::user()->getRole() . ',==,Admin', - 'password_check' => 'required|in:' . Auth::user()->getAuthPassword(), ]); unset($data['password_check']);//todo to remove $data['password'] = "password"; if (!key_exists('entityId', $data)) { - $data['entityId'] = 1; //(new EntityServiceProvider())->findFromUser(Auth::id())->entityId; + $data['entityId'] = (new EntityServiceProvider())->findFromUser(Auth::id())->entityId; } if (!key_exists('type', $data)) { $data['type'] = 0; } - $this->provider->store(json_encode($data)); + return $this->provider->store(json_encode($data)) ? redirect(route('users.index')) : + redirect(route('users.index'))->withErrors(['createError' => 'Operazione non andata a buon fine']); } /** diff --git a/app/Providers/EntityServiceProvider.php b/app/Providers/EntityServiceProvider.php index c64be872..dc37612d 100644 --- a/app/Providers/EntityServiceProvider.php +++ b/app/Providers/EntityServiceProvider.php @@ -101,10 +101,10 @@ public function findFromUser($userId) { try { $response = json_decode($this->request->get('', array_merge($this->setHeaders(), [ - 'query' => 'userId=' . $userId + 'query' => 'user=' . $userId ]))->getBody()); $entity = new Entity(); - $entity->fill((array)$response); + $entity->fill((array)$response[0]); return $entity; } catch (RequestException $e) { $this->isExpired($e); diff --git a/app/Providers/UserServiceProvider.php b/app/Providers/UserServiceProvider.php index 6cf2f4d2..158c49b7 100644 --- a/app/Providers/UserServiceProvider.php +++ b/app/Providers/UserServiceProvider.php @@ -202,7 +202,7 @@ public function findAllFromEntity($entityId) public function update(string $who, string $body) { try { - $response = json_decode($this->request->put('/users/' . $who, array_merge($this->setHeaders(), [ + $response = json_decode($this->request->put('users/' . $who, array_merge($this->setHeaders(), [ 'body' => $body ]))->getBody()); if (property_exists($response, 'token')) { @@ -221,7 +221,7 @@ public function update(string $who, string $body) public function destroy(string $who) { try { - $this->request->delete('/users/' . $who, $this->setHeaders()); + $this->request->delete('users/' . $who, $this->setHeaders()); } catch (RequestException $e) { $this->isExpired($e); abort($e->getCode(), $e->getResponse()->getReasonPhrase()); @@ -237,9 +237,10 @@ public function store(string $body) $this->request->post('users', array_merge($this->setHeaders(), [ 'body' => $body ])); + return true; } catch (RequestException $e) { $this->isExpired($e); - abort($e->getCode(), $e->getResponse()->getReasonPhrase()); + return false; } } diff --git a/resources/views/users/create.blade.php b/resources/views/users/create.blade.php index aa4bb034..ef4d3b7c 100644 --- a/resources/views/users/create.blade.php +++ b/resources/views/users/create.blade.php @@ -23,7 +23,7 @@

      Puoi modificare le informazioni dell'account cambiando i campi contenuti di seguito.

      - + @csrf @method('POST')
      @@ -95,7 +95,7 @@
      -
      @endcanany + @error('createError') +

      {{$message}}

      + @enderror
      Lista utenti
      diff --git a/routes/web.php b/routes/web.php index 5dbb0ca2..cf861ccc 100644 --- a/routes/web.php +++ b/routes/web.php @@ -27,7 +27,7 @@ //routes per gestione user Route::get('/users', 'UserController@index')->name('users.index'); -Route::get('/users/create', 'UserController@create')->name('users.create');//TODO +Route::get('/users/create', 'UserController@create')->name('users.create'); Route::post('/users', 'UserController@store')->name('users.store'); Route::get('/users/{userId}', 'UserController@show')->name('users.show');//TODO Route::put('/users/{userId}', 'UserController@update')->name('users.update'); From a6aca3db8051beff78ccea7f8c9b1b9a4b25633d Mon Sep 17 00:00:00 2001 From: Mariano Date: Thu, 9 Apr 2020 20:50:09 +0200 Subject: [PATCH 084/124] Fix pagina dispositivi --- resources/views/devices/index.blade.php | 51 ++++++++++++++++++++++--- 1 file changed, 46 insertions(+), 5 deletions(-) diff --git a/resources/views/devices/index.blade.php b/resources/views/devices/index.blade.php index 89b5b07b..5aed9fc9 100644 --- a/resources/views/devices/index.blade.php +++ b/resources/views/devices/index.blade.php @@ -19,20 +19,21 @@ - + s Aggiungi dispositivo
      @endcan
      + @can(["isAdmin"]) @foreach($devicesOnGateways as $deviceOnGateway)
      - -
      Lista dispositivi {{ $deviceOnGateway[0]->name}}
      +
      +
      Lista dispositivi {{ $deviceOnGateway[0]->name}}
      -
      +
      @@ -73,5 +74,45 @@ @endforeach + @endcan + + @cannot(["isAdmin"]) +
      +
      +
      Lista dispositivi
      + +
      +
      +
      + + + + + + + + + + + + @foreach($devicesOnGateways as $deviceOnGateway) + @foreach($deviceOnGateway[1] as $device) + + + + + + + + + @endforeach + @endforeach + +
      #NomeStatusGatewaySensoriFrequenza
      {{$device->deviceId}} {{$device->name}}Attivo{{$deviceOnGateway[0]->name}}{{$deviceOnGateway[2][$device->deviceId]}}{{$device->frequency}}s
      +
      +
      +
      + @endcannot +
      @endsection From a8d688f5a960018f6e2c5ce49d836b846dd5f62b Mon Sep 17 00:00:00 2001 From: Mariano Date: Thu, 9 Apr 2020 21:23:16 +0200 Subject: [PATCH 085/124] Aggiornamento pagine utente e moderazione --- resources/views/users/index.blade.php | 82 ++++++-------------- resources/views/users/show.blade.php | 104 +++++++++++++++++++------- 2 files changed, 98 insertions(+), 88 deletions(-) diff --git a/resources/views/users/index.blade.php b/resources/views/users/index.blade.php index 2200266b..c844cc7e 100644 --- a/resources/views/users/index.blade.php +++ b/resources/views/users/index.blade.php @@ -23,86 +23,50 @@
      @endcanany +
      Lista utenti
      -
      - +
      +
      - - - - - - - - - - + + + + + + + + - - - - - - - - - - - - @foreach($users as $u) - - - - + + + diff --git a/resources/views/users/show.blade.php b/resources/views/users/show.blade.php index fcdd7557..f0702b37 100644 --- a/resources/views/users/show.blade.php +++ b/resources/views/users/show.blade.php @@ -1,28 +1,18 @@ @extends('layouts.app') @section('breadcrumbs', Breadcrumbs::render('users.show', $user->userId)) @section('content') -
      +

      Profilo

      - @if($user->typetype) - - @endif
      @@ -33,25 +23,24 @@
      -

      ID : {{$user->userId}}

      -

      Nome e cognome : {{$user->name . ' ' . $user->surname}}

      -

      Ruolo : {{$user->getRole()}}

      +

      ID: {{$user->userId}}

      +

      Nome e cognome: {{$user->name . ' ' . $user->surname}}

      +

      Ruolo: {{$user->getRole()}}

      -
      - - Contatti -
      -
      +
      + + Contatti +
      +
      -

      Email : {{$user->email}}

      -

      Username Telegram : {{$user->telegramName?? 'NA'}}

      -

      Chat Telegram : {{$user->telegramChat?? 'NA'}}

      -
      +

      Email: {{$user->email}}

      +

      Username Telegram: {{$user->telegramName?? 'N/D'}}

      +
      @@ -63,13 +52,13 @@
      -

      Sicurezza account : +

      Sicurezza account: @if($user->tfa) Attivo @else Disattivo @endif

      -

      Stato : +

      Stato: @if($user->deleted) Disattivo @else @@ -78,6 +67,63 @@

      +
      +
      +
      +
      + + Opzioni +
      +
      +
      + @if($user->type < Auth::user()->type) + + + + + Modifica + + @endif + @if($user->type < Auth::user()->type) + @can(['isAdmin']) + + + + + + Reset password + + @endcan + @endif + @if($u->deleted) + + + + + + Ripristina + + + @csrf + @method('PUT') + + @else + + + + + Elimina + + + @csrf + @method('DELETE') + + @endif +
      +
      +
      @endsection From fee6b4abbed2df0ebe1c16a7ed00f26c5adcccb4 Mon Sep 17 00:00:00 2001 From: Mariano Date: Thu, 9 Apr 2020 23:48:52 +0200 Subject: [PATCH 086/124] Fix ulteriori nella parte di moderazione, creazione e modifica utenti --- resources/views/devices/create.blade.php | 2 +- resources/views/devices/index.blade.php | 10 +++---- resources/views/logs/show.blade.module | 1 - resources/views/users/create.blade.php | 29 ++++++++++---------- resources/views/users/edit.blade.php | 30 +++++++++------------ resources/views/users/index.blade.php | 31 ++++++++++----------- resources/views/users/show.blade.php | 34 ++++++++++++------------ 7 files changed, 65 insertions(+), 72 deletions(-) delete mode 100644 resources/views/logs/show.blade.module diff --git a/resources/views/devices/create.blade.php b/resources/views/devices/create.blade.php index 3a627fd3..9bc4a1ca 100644 --- a/resources/views/devices/create.blade.php +++ b/resources/views/devices/create.blade.php @@ -6,7 +6,7 @@

      Creazione dispositivo

      IDNomeCognomeEmailRuoloStato
      IDNome e cognomeEmailRuoloStato
      IDNomeCognomeEmailRuoloStato
      {{$u->userId}}{{$u->name}}{{$u->surname}}{{$u->email}}{{$u->userId}}{{$u->name}} {{$u->surname}} {{$u->getRole()}}{{$u->email}} @if($u->deleted) Disattivo @else Attivo @endif - - - - - - Dettagli - @canany(['isAdmin', 'isMod']) - @if($u->deleted) - - - - - Ripristina - - - @csrf - @method('PUT') - - @else - - - - - Elimina + @if($user->type < Auth::user()->type) +
      + + + + + Modifica - - @endif +
      + @endif @endcanany
      diff --git a/resources/views/logs/show.blade.module b/resources/views/logs/show.blade.module deleted file mode 100644 index b3d9bbc7..00000000 --- a/resources/views/logs/show.blade.module +++ /dev/null @@ -1 +0,0 @@ - Creazione Utente @endsection diff --git a/resources/views/users/edit.blade.php b/resources/views/users/edit.blade.php index d9c4cfa3..896771fe 100644 --- a/resources/views/users/edit.blade.php +++ b/resources/views/users/edit.blade.php @@ -6,11 +6,11 @@

      Modifica profilo

      @@ -102,9 +102,9 @@
      - +
      - + @error('password') {{ $message }} @@ -145,25 +145,19 @@
      -
      -

      - *Per attivare l'autenticazione a due fattori è necessario inserire lo username Telegram - e avviare il bot direttamente dall'applicazione, inserendo il comando /start in chat. -

      @endcan +
      + @else -

      Non puoi modificare un'utente con il tuo stesso ruolo!

      +
      Non puoi modificare un'utente con il tuo stesso ruolo!
      @endif -
      - -
      @endsection diff --git a/resources/views/users/index.blade.php b/resources/views/users/index.blade.php index c844cc7e..a467bb51 100644 --- a/resources/views/users/index.blade.php +++ b/resources/views/users/index.blade.php @@ -6,27 +6,25 @@

      Gestione utenti

      - @canany(['isAdmin', 'isMod']) - - @endcanany + Crea nuovo utente + + @endcanany +
      -
      Lista utenti
      +
      Lista utenti
      @@ -35,9 +33,9 @@
      + - @@ -46,8 +44,6 @@ - - + + + - @foreach($users as $u) + @foreach($usersWithEntity as $u) - - + + + - - + @can('isAdmin') + + @endcan - @foreach($usersWithEntity as $u) - - - - - - - - - @endforeach + @canany(['isAdmin', 'isMod']) + @foreach($usersWithEntity as $u) + + + + + + + @can('isAdmin') + + @endcan + + + @endforeach + @endcanany
      ID Nome e cognomeStato Email RuoloStato
      {{$u->userId}} {{$u->name}} {{$u->surname}}{{$u->getRole()}}{{$u->email}} @if($u->deleted) Disattivo @@ -55,11 +51,16 @@ Attivo @endif + {{$u->getRole()}} + {{$u->email}} @canany(['isAdmin', 'isMod']) - @if($user->type < Auth::user()->type) + @if($u->type < Auth::user()->type)
      - + diff --git a/resources/views/users/show.blade.php b/resources/views/users/show.blade.php index f0702b37..e076e381 100644 --- a/resources/views/users/show.blade.php +++ b/resources/views/users/show.blade.php @@ -1,30 +1,30 @@ @extends('layouts.app') @section('breadcrumbs', Breadcrumbs::render('users.show', $user->userId)) @section('content') -
      +
      -

      Profilo

      +

      Profilo di {{$user->name . ' ' . $user->surname}}

      -
      +
      - + Dettagli
      -

      ID: {{$user->userId}}

      -

      Nome e cognome: {{$user->name . ' ' . $user->surname}}

      +

      ID: {{$user->userId}}

      +

      Nome e cognome: {{$user->name . ' ' . $user->surname}}

      Ruolo: {{$user->getRole()}}

      @@ -67,7 +67,7 @@
      -
      +
      @@ -86,7 +86,7 @@ @endif @if($user->type < Auth::user()->type) @can(['isAdmin']) - + @@ -95,28 +95,28 @@ @endcan @endif - @if($u->deleted) + @if($user->deleted) - + Ripristina - @else - + - Elimina + Disattiva utente - From 15084b582a35e789c7f631a0ce5ae499b854c7d0 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Fri, 10 Apr 2020 12:04:29 +0200 Subject: [PATCH 087/124] fix e funzioni per user.index --- app/Http/Controllers/UserController.php | 16 +++++++++++++++- app/Models/User.php | 2 +- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 97e28cec..2ef8bcdb 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -42,7 +42,21 @@ public function __construct() public function index() { $users = $this->provider->findAll(); - return view('users.index', compact('users')); + $entities = (new EntityServiceProvider())->findAll(); + $nullOrNot = function ($u) use (&$entities) { + $entity = array_filter($entities, function ($e) use (&$u) { + return $u->entity == $e->entityId; + }); + if (empty($entity)) { + return null; + } + return array_pop($entity); + }; + + foreach ($users as $u) { + $usersWithEntity[] = ['user' => $u, 'entity' => $nullOrNot($u)]; + } + return view('users.index', compact('usersWithEntity')); } /** diff --git a/app/Models/User.php b/app/Models/User.php index b32d70bc..d53d7345 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -10,7 +10,7 @@ class User extends Authenticatable use Notifiable; protected $fillable = [ - 'userId','name', 'surname', 'email', 'type', 'telegramName', 'telegramChat', 'deleted', 'tfa', 'token', + 'userId','name', 'surname', 'email', 'type', 'telegramName', 'telegramChat', 'deleted', 'tfa', 'token','entity', 'password' ]; private $role = ['Utente', 'Moderatore', 'Amministratore']; From 231e7f479718047f5a681388c92dd9828a0e8f45 Mon Sep 17 00:00:00 2001 From: Mariano Date: Fri, 10 Apr 2020 12:07:59 +0200 Subject: [PATCH 088/124] Aggiunta la tabella delle logs --- resources/views/logs/index.blade.php | 53 +++++++++++++++++++++++++++- routes/breadcrumbs.php | 6 ++++ 2 files changed, 58 insertions(+), 1 deletion(-) diff --git a/resources/views/logs/index.blade.php b/resources/views/logs/index.blade.php index b3d9bbc7..1dff382d 100644 --- a/resources/views/logs/index.blade.php +++ b/resources/views/logs/index.blade.php @@ -1 +1,52 @@ - +
      +

      Logs

      +
      + + +
      +
      +
      +
      +
      Lista Logs
      +
      +
      +
      + + + + + + + + + + + + + + + + + + + +
      Data oraNome e cognomeRangoAzioneIP
      10 aprile 2015 - ore 26:00massimoaDmInfaccio cose ciao il mio ip
      +
      +
      +
      +
      +
      +
      diff --git a/routes/breadcrumbs.php b/routes/breadcrumbs.php index ab55d32e..c4aa86ef 100644 --- a/routes/breadcrumbs.php +++ b/routes/breadcrumbs.php @@ -101,3 +101,9 @@ $trail->parent('views'); $trail->push('#' . $viewId, route('views.show', ['viewId' => $viewId])); }); + +//Logs +Breadcrumbs::for('logs', function ($trail) { + $trail->parent('home'); + $trail->push('Logs', route('views.index')); +}); From 95632b3ee7da439b02fb95bd749615dee0bb65b3 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Fri, 10 Apr 2020 12:09:14 +0200 Subject: [PATCH 089/124] correzione view --- resources/views/users/index.blade.php | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/resources/views/users/index.blade.php b/resources/views/users/index.blade.php index 1d5279ce..6370d1a4 100644 --- a/resources/views/users/index.blade.php +++ b/resources/views/users/index.blade.php @@ -42,27 +42,26 @@
      {{$u->userId}}{{$u->name}} {{$u->surname}}{{$u['user']->userId}}{{$u['user']->name}} {{$u['user']->surname}} - @if($u->deleted) + @if($u['user']->deleted) Disattivo @else Attivo @endif {{$u['user']->email}} - {{$u->getRole()}} + {{$u['user']->getRole()}} {{$u->email}} @canany(['isAdmin', 'isMod']) - @if($u->type < Auth::user()->type) + @if($u['user']->type < Auth::user()->type)
      - + From f70bbbbd120ac943b8f30128ce76992866cd8773 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Fri, 10 Apr 2020 15:52:29 +0200 Subject: [PATCH 090/124] closed #30 --- app/Http/Controllers/LogsController.php | 6 --- app/Providers/LogsServiceProvider.php | 2 +- resources/views/users/index.blade.php | 68 ++++++++++++++----------- routes/web.php | 16 +++--- 4 files changed, 46 insertions(+), 46 deletions(-) diff --git a/app/Http/Controllers/LogsController.php b/app/Http/Controllers/LogsController.php index 7166c553..bbd0c165 100644 --- a/app/Http/Controllers/LogsController.php +++ b/app/Http/Controllers/LogsController.php @@ -11,10 +11,4 @@ public function index() $logs = ["stringa1", "stringa2"]; view('logs.index', compact('logs')); } - - public function show($logId) - { - $log = "stringa?"; - view('logs.show', compact('log')); - } } diff --git a/app/Providers/LogsServiceProvider.php b/app/Providers/LogsServiceProvider.php index 88a2db4c..5637a866 100644 --- a/app/Providers/LogsServiceProvider.php +++ b/app/Providers/LogsServiceProvider.php @@ -20,7 +20,7 @@ public function __construct() { parent::__construct(app()); $this->request = new Client([ - 'base_uri' => config('app.api') . '/logs/', + 'base_uri' => config('app.api') . '/logs', 'headers' => [ 'Content-Type' => 'application/json', ] diff --git a/resources/views/users/index.blade.php b/resources/views/users/index.blade.php index 6370d1a4..cdafb4b9 100644 --- a/resources/views/users/index.blade.php +++ b/resources/views/users/index.blade.php @@ -38,41 +38,47 @@
      Stato Email RuoloEnte
      {{$u['user']->userId}}{{$u['user']->name}} {{$u['user']->surname}} - @if($u['user']->deleted) - Disattivo - @else - Attivo - @endif - {{$u['user']->email}} - {{$u['user']->getRole()}} - - @canany(['isAdmin', 'isMod']) - @if($u['user']->type < Auth::user()->type) - - @endif - @endcanany -
      {{$u['user']->userId}}{{$u['user']->name}} {{$u['user']->surname}} + @if($u['user']->deleted) + Disattivo + @else + Attivo + @endif + {{$u['user']->email}} + {{$u['user']->getRole()}} + {{$u['entity']?$u['entity']->name:''}} + @if($u['user']->type < Auth::user()->type) + + @endif +
      diff --git a/routes/web.php b/routes/web.php index cf861ccc..8c7674d8 100644 --- a/routes/web.php +++ b/routes/web.php @@ -26,14 +26,14 @@ Route::put('/settings', 'SettingsController@update')->name('settings.update'); //routes per gestione user -Route::get('/users', 'UserController@index')->name('users.index'); -Route::get('/users/create', 'UserController@create')->name('users.create'); -Route::post('/users', 'UserController@store')->name('users.store'); -Route::get('/users/{userId}', 'UserController@show')->name('users.show');//TODO -Route::put('/users/{userId}', 'UserController@update')->name('users.update'); -Route::get('/users/{userId}/edit', 'UserController@edit')->name('users.edit');//TODO -Route::put('/users/{userId}/restore', 'UserController@restore')->name('users.restore'); -Route::delete('/users/{userId}/delete', 'UserController@destroy')->name('users.destroy'); +Route::get('/users', 'UserController@index')->name('users.index')->middleware('can:isAdmin,isMod'); +Route::get('/users/create', 'UserController@create')->name('users.create')->middleware('can:isAdmin,isMod'); +Route::post('/users', 'UserController@store')->name('users.store')->middleware('can:isAdmin,isMod'); +Route::get('/users/{userId}', 'UserController@show')->name('users.show')->middleware('can:isAdmin,isMod'); +Route::put('/users/{userId}', 'UserController@update')->name('users.update')->middleware('can:isAdmin,isMod'); +Route::get('/users/{userId}/edit', 'UserController@edit')->name('users.edit')->middleware('can:isAdmin,isMod'); +Route::put('/users/{userId}/restore', 'UserController@restore')->name('users.restore')->middleware('can:isAdmin,isMod'); +Route::delete('/users/{userId}/delete', 'UserController@destroy')->name('users.destroy')->middleware('can:isAdmin,isMod'); //routes per gestione gateways Route::get('/gateways', 'GatewayController@index')->name('gateways.index');//TODO From 61d642bafe35f329ada457b5bb622d15cdc3b7d4 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Fri, 10 Apr 2020 16:21:52 +0200 Subject: [PATCH 091/124] #32, #33 --- app/Http/Controllers/UserController.php | 1 - resources/views/layouts/sidebar.blade.php | 8 ++++---- resources/views/users/edit.blade.php | 11 ----------- routes/web.php | 16 ++++++++-------- 4 files changed, 12 insertions(+), 24 deletions(-) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 2ef8bcdb..9c0e5b41 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -128,7 +128,6 @@ public function update($user) 'type' => 'in:1,2,3|numeric|required_if:' . Auth::user()->getRole() . '==, "isAdmin"', 'email' => 'required|email', 'telegramName' => 'nullable|string|required_if:tfa,==,true', - 'telegramChat' => 'nullable|string|required_if:tfa,==,true', 'tfa' => 'nullable|in:true', 'deleted' => 'nullable|in:true', 'password' => 'nullable|min:6', diff --git a/resources/views/layouts/sidebar.blade.php b/resources/views/layouts/sidebar.blade.php index 074cf722..1e4e4acc 100644 --- a/resources/views/layouts/sidebar.blade.php +++ b/resources/views/layouts/sidebar.blade.php @@ -47,10 +47,10 @@ @canany(['isAdmin', 'isMod']) - - + + @endcanany @can('isMod') diff --git a/resources/views/users/edit.blade.php b/resources/views/users/edit.blade.php index 896771fe..1886cbfc 100644 --- a/resources/views/users/edit.blade.php +++ b/resources/views/users/edit.blade.php @@ -90,17 +90,6 @@ @enderror
      -
      - -
      - - @error('telegramChat') - - {{ $message }} - - @enderror -
      -
      diff --git a/routes/web.php b/routes/web.php index 8c7674d8..3c2217f2 100644 --- a/routes/web.php +++ b/routes/web.php @@ -26,14 +26,14 @@ Route::put('/settings', 'SettingsController@update')->name('settings.update'); //routes per gestione user -Route::get('/users', 'UserController@index')->name('users.index')->middleware('can:isAdmin,isMod'); -Route::get('/users/create', 'UserController@create')->name('users.create')->middleware('can:isAdmin,isMod'); -Route::post('/users', 'UserController@store')->name('users.store')->middleware('can:isAdmin,isMod'); -Route::get('/users/{userId}', 'UserController@show')->name('users.show')->middleware('can:isAdmin,isMod'); -Route::put('/users/{userId}', 'UserController@update')->name('users.update')->middleware('can:isAdmin,isMod'); -Route::get('/users/{userId}/edit', 'UserController@edit')->name('users.edit')->middleware('can:isAdmin,isMod'); -Route::put('/users/{userId}/restore', 'UserController@restore')->name('users.restore')->middleware('can:isAdmin,isMod'); -Route::delete('/users/{userId}/delete', 'UserController@destroy')->name('users.destroy')->middleware('can:isAdmin,isMod'); +Route::get('/users', 'UserController@index')->name('users.index')->middleware(['can:isAdmin' || 'can:isMod']); +Route::get('/users/create', 'UserController@create')->name('users.create')->middleware(['can:isAdmin' || 'can:isMod']); +Route::post('/users', 'UserController@store')->name('users.store')->middleware(['can:isAdmin' || 'can:isMod']); +Route::get('/users/{userId}', 'UserController@show')->name('users.show')->middleware(['can:isAdmin' || 'can:isMod']); +Route::put('/users/{userId}', 'UserController@update')->name('users.update')->middleware(['can:isAdmin' || 'can:isMod']); +Route::get('/users/{userId}/edit', 'UserController@edit')->name('users.edit')->middleware(['can:isAdmin' || 'can:isMod']); +Route::put('/users/{userId}/restore', 'UserController@restore')->name('users.restore')->middleware(['can:isAdmin' || 'can:isMod']); +Route::delete('/users/{userId}/delete', 'UserController@destroy')->name('users.destroy')->middleware(['can:isAdmin' || 'can:isMod']); //routes per gestione gateways Route::get('/gateways', 'GatewayController@index')->name('gateways.index');//TODO From 1cadb025d0773a62d068837eeb65e9a210550cd0 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Fri, 10 Apr 2020 16:52:10 +0200 Subject: [PATCH 092/124] pulizia codice --- app/Http/Controllers/UserController.php | 5 +---- routes/web.php | 11 +++++------ 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 9c0e5b41..bcf094b3 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -103,7 +103,6 @@ public function store() 'entityId' => 'nullable|numeric|required_if:' . Auth::user()->getRole() . ',==,Admin', 'type' => 'nullable|numeric|required_if:' . Auth::user()->getRole() . ',==,Admin', ]); - unset($data['password_check']);//todo to remove $data['password'] = "password"; if (!key_exists('entityId', $data)) { $data['entityId'] = (new EntityServiceProvider())->findFromUser(Auth::id())->entityId; @@ -131,9 +130,7 @@ public function update($user) 'tfa' => 'nullable|in:true', 'deleted' => 'nullable|in:true', 'password' => 'nullable|min:6', - 'password_check' => 'required|in:' . Auth::user()->getAuthPassword(), ]); - unset($data['password_check']);//todo to remove $data = array_diff_assoc($data, $user->getAttributes()); if (key_exists('deleted', $data)) { @@ -145,7 +142,7 @@ public function update($user) } if (key_exists('telegramName', $data)) { - if ($data['telegramName'] != $user->getTelegramName() || is_null($user->getChatId())) { + if ($data['telegramName'] != $user->getTelegramName()) { $data['tfa'] = false; } } diff --git a/routes/web.php b/routes/web.php index 3c2217f2..27271039 100644 --- a/routes/web.php +++ b/routes/web.php @@ -52,8 +52,8 @@ Route::get('/devices/{deviceId}/edit', 'DeviceController@edit')->name('devices.edit');//TODO //routes per gestione sensori -Route::get('/devices/{deviceId}/sensors', 'SensorController@index')->name('sensors.index');//TODO -Route::get('/devices/{deviceId}/sensors/{sensorId}', 'SensorController@show')->name('sensors.show');//TODO +Route::get('/devices/{deviceId}/sensors', 'SensorController@index')->name('sensors.index'); +Route::get('/devices/{deviceId}/sensors/{sensorId}', 'SensorController@show')->name('sensors.show'); //routes per gestione entity Route::get('/entities', 'EntityController@index')->name('entities.index');//TODO @@ -64,17 +64,16 @@ Route::get('/entity/{entityName}/edit', 'EntityController@edit')->name('entities.edit');//TODO //routes per la gestione delle views -Route::get('/views', 'ViewController@index')->name('views.index');//TODO -Route::get('/views/{viewId}', 'ViewController@show')->name('views.show');//TODO +Route::get('/views', 'ViewController@index')->name('views.index'); +Route::get('/views/{viewId}', 'ViewController@show')->name('views.show'); Route::post('/views', 'ViewController@store')->name('views.store'); Route::delete('/views/{viewId}', 'ViewController@destroy')->name('views.destroy'); //data -Route::get('/data/{sensorId}', 'SensorController@fetch')->name('sensors.fetch');//TODO +Route::get('/data/{sensorId}', 'SensorController@fetch')->name('sensors.fetch'); //logs Route::get('/logs', 'LogsController@index')->name('logs.index');//TODO Route::get('/logs/{logId}', 'LogsController@show')->name('logs.show');//TODO -/*->middleware('can:isAdmin')*/// limita users agli admin Route::post('/viewGraphs/{viewId}', 'GraphsController@store')->name('graphs.store'); Route::delete('/viewGraphs/{viewGraphId}', 'GraphsController@destroy')->name('graphs.destroy'); /*Route::put('/viewGraphs/{viewId}', 'GraphsController@update')->name('graphs.update');*/ From 16557ad479c651825087407800185a6c4d2599d6 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Fri, 10 Apr 2020 17:07:48 +0200 Subject: [PATCH 093/124] fix su gateways --- app/Http/Controllers/DashboardController.php | 2 +- app/Http/Controllers/DeviceController.php | 1 + app/Http/Controllers/SettingsController.php | 2 +- app/Providers/GatewayServiceProvider.php | 6 +++--- resources/views/dashboard/index.blade.php | 2 +- 5 files changed, 7 insertions(+), 6 deletions(-) diff --git a/app/Http/Controllers/DashboardController.php b/app/Http/Controllers/DashboardController.php index 10dca033..446e6f5e 100644 --- a/app/Http/Controllers/DashboardController.php +++ b/app/Http/Controllers/DashboardController.php @@ -41,7 +41,7 @@ public function index() return !$u->deleted; }); return view('dashboard.index', compact([ - 'user', 'users', 'entities', 'devices', 'devicesEntity', 'usersEntity', 'usersActive', 'usersActiveEntity' + 'user', 'users', 'entities', 'devices', 'devicesEntity', 'usersEntity', 'usersActive', 'usersActiveEntity', 'entity' ])); } } diff --git a/app/Http/Controllers/DeviceController.php b/app/Http/Controllers/DeviceController.php index 71a10731..4988963b 100644 --- a/app/Http/Controllers/DeviceController.php +++ b/app/Http/Controllers/DeviceController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers; +use App\Models\Gateway; use App\Providers\DeviceServiceProvider; use App\Providers\GatewayServiceProvider; use App\Providers\SensorServiceProvider; diff --git a/app/Http/Controllers/SettingsController.php b/app/Http/Controllers/SettingsController.php index 63a714ba..66b52f26 100644 --- a/app/Http/Controllers/SettingsController.php +++ b/app/Http/Controllers/SettingsController.php @@ -24,7 +24,7 @@ public function __construct() public function edit() { $user = Auth::user(); - $alerts = $this->provider->findAll(); + $alerts = $this->provider->findAll();//todo da recuperare il device ed il sensore return view('settings.edit', compact(['user','alerts'])); } diff --git a/app/Providers/GatewayServiceProvider.php b/app/Providers/GatewayServiceProvider.php index ea65dd1d..b2c99a2b 100644 --- a/app/Providers/GatewayServiceProvider.php +++ b/app/Providers/GatewayServiceProvider.php @@ -27,7 +27,7 @@ public function __construct() { parent::__construct(app()); $this->request = new Client([ - 'base_uri' => config('app.api') . '/gateways/', + 'base_uri' => config('app.api') . '/gateways', 'headers' => [ 'Content-Type' => 'application/json', ] @@ -41,7 +41,7 @@ public function __construct() public function find($identifier) { try { - $response = json_decode($this->request->get($identifier, $this->setHeaders())->getBody()); + $response = json_decode($this->request->get('/gateways/' . $identifier, $this->setHeaders())->getBody()); $gateway = new Gateway(); $gateway->fill((array)$response); return $gateway; @@ -75,7 +75,7 @@ public function findAllFromDevice($device) { try { $response = json_decode($this->request->get('', array_merge($this->setHeaders(), [ - 'query' => 'deviceId=' . $device + 'query' => 'device=' . $device ]))->getBody()); $gateways = []; foreach ($response as $g) { diff --git a/resources/views/dashboard/index.blade.php b/resources/views/dashboard/index.blade.php index 036d6530..776c88c7 100644 --- a/resources/views/dashboard/index.blade.php +++ b/resources/views/dashboard/index.blade.php @@ -128,7 +128,7 @@
      • Nome e Cognome: {{$user->name}} {{$user->surname}}
      • Indirizzo email: {{$user->email}}
      • -
      • Ente di appartenenza: NOME ENTE
      • +
      • Ente di appartenenza:{{$entity->name}}
      • Indirizzo IP:   {{ request()->ip() }}
      From 2d643210ebd2708f4c1573aac07fc696b9a09b3e Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Fri, 10 Apr 2020 17:20:44 +0200 Subject: [PATCH 094/124] fix sensori --- app/Providers/SensorServiceProvider.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Providers/SensorServiceProvider.php b/app/Providers/SensorServiceProvider.php index 544733c1..5124745d 100644 --- a/app/Providers/SensorServiceProvider.php +++ b/app/Providers/SensorServiceProvider.php @@ -25,7 +25,7 @@ public function __construct() { parent::__construct(app()); $this->request = new Client([ - 'base_uri' => config('app.api') . '/devices/', + 'base_uri' => config('app.api') . '/devices', 'headers' => [ 'Content-Type' => 'application/json' ] @@ -40,7 +40,7 @@ public function find($deviceId, $sensorId) { try { $response = json_decode($this->request->get( - '/devices/' . $deviceId . '/sensor/' . $sensorId, + '/devices/' . $deviceId . '/sensors/' . $sensorId, $this->setHeaders() )->getBody()); $sensor = new Sensor(); From 45d841c7f32df2af2aa7d0c828c5d089bdf997f3 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Fri, 10 Apr 2020 17:52:36 +0200 Subject: [PATCH 095/124] fix typo --- app/Http/Controllers/UserController.php | 2 +- app/Models/Device.php | 2 +- routes/web.php | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index bcf094b3..27288b3a 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -163,7 +163,7 @@ public function destroy($userId) /** * @param $userId */ - public function restore($userId) + public function restore($userId)//todo rivedere sta cosa { $user = $this->provider->retrieveById($userId); $user->setDeleted(false); diff --git a/app/Models/Device.php b/app/Models/Device.php index 5b4dea7c..7b4d4722 100644 --- a/app/Models/Device.php +++ b/app/Models/Device.php @@ -6,5 +6,5 @@ class Device extends Model { - protected $fillable = ['deviceId', 'name', 'frequency', 'realDeviceIdDD']; + protected $fillable = ['deviceId', 'name', 'frequency', 'realDeviceId']; } diff --git a/routes/web.php b/routes/web.php index 27271039..cba15347 100644 --- a/routes/web.php +++ b/routes/web.php @@ -74,6 +74,8 @@ //logs Route::get('/logs', 'LogsController@index')->name('logs.index');//TODO Route::get('/logs/{logId}', 'LogsController@show')->name('logs.show');//TODO + + Route::post('/viewGraphs/{viewId}', 'GraphsController@store')->name('graphs.store'); Route::delete('/viewGraphs/{viewGraphId}', 'GraphsController@destroy')->name('graphs.destroy'); /*Route::put('/viewGraphs/{viewId}', 'GraphsController@update')->name('graphs.update');*/ From 8f5b4366ffdf11b551febf9f09191c2aa0de63bf Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Fri, 10 Apr 2020 18:19:58 +0200 Subject: [PATCH 096/124] fix modifica/delete/restore user --- app/Http/Controllers/GatewayController.php | 2 +- app/Http/Controllers/UserController.php | 7 ++++--- routes/web.php | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/GatewayController.php b/app/Http/Controllers/GatewayController.php index 8640cb35..db8f3cb8 100644 --- a/app/Http/Controllers/GatewayController.php +++ b/app/Http/Controllers/GatewayController.php @@ -54,7 +54,7 @@ public function create() //TODO return view('gateways.create', compact(['entities'])); } - public function edit($gateway) + public function edit($gateway) //TODO { $gateway = $this->provider->find($gateway); return view('gateways.edit', compact('gateway')); diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 27288b3a..ece19e17 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -162,11 +162,12 @@ public function destroy($userId) /** * @param $userId + * @return RedirectResponse|Redirector */ - public function restore($userId)//todo rivedere sta cosa + public function restore($userId) { $user = $this->provider->retrieveById($userId); - $user->setDeleted(false); - $this->provider->update($user->getAuthIdentifier(), json_encode($user->getAttributes(), JSON_FORCE_OBJECT)); + $this->provider->update($user->getAuthIdentifier(), '{"deleted":false}'); + return redirect(route('users.index')); } } diff --git a/routes/web.php b/routes/web.php index cba15347..7b086d29 100644 --- a/routes/web.php +++ b/routes/web.php @@ -17,8 +17,8 @@ //le Route DEVONO essere ordinate secondo logica di matching "if" -Route::get('/dashboard', 'DashboardController@index')->name('dashboard.index'); Route::get('/login/tfa', 'Auth\LoginController@showTfaForm')->name('tfaLogin'); +Route::get('/dashboard', 'DashboardController@index')->name('dashboard.index'); //routes per gestione profilo Route::get('/settings/edit', 'SettingsController@edit')->name('settings.edit'); From 7c5161a53d03fc34ad2223c41863a47508e5e128 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Fri, 10 Apr 2020 18:39:29 +0200 Subject: [PATCH 097/124] aggiunti i nomi dei dispositivi negli alert --- app/Http/Controllers/SettingsController.php | 31 ++++++++++++++++----- app/Providers/SensorServiceProvider.php | 17 +++++++++++ resources/views/settings/edit.blade.php | 14 +++++----- 3 files changed, 48 insertions(+), 14 deletions(-) diff --git a/app/Http/Controllers/SettingsController.php b/app/Http/Controllers/SettingsController.php index 66b52f26..4401507b 100644 --- a/app/Http/Controllers/SettingsController.php +++ b/app/Http/Controllers/SettingsController.php @@ -3,6 +3,8 @@ namespace App\Http\Controllers; use App\Providers\AlertServiceProvider; +use App\Providers\DeviceServiceProvider; +use App\Providers\SensorServiceProvider; use App\Providers\UserServiceProvider; use Illuminate\Support\Facades\Auth; @@ -13,19 +15,34 @@ class SettingsController extends Controller * * @return void */ - private $provider; + private $alertsProvider; + private $devicesProvider; + private $sensorsProvider; public function __construct() { $this->middleware('auth'); - $this->provider = new AlertServiceProvider(); + $this->alertsProvider = new AlertServiceProvider(); + $this->devicesProvider = new DeviceServiceProvider(); + $this->sensorsProvider = new SensorServiceProvider(); } public function edit() { $user = Auth::user(); - $alerts = $this->provider->findAll();//todo da recuperare il device ed il sensore - return view('settings.edit', compact(['user','alerts'])); + $alerts = $this->alertsProvider->findAll(); + $alertsWithSensors = []; + foreach ($alerts as $state => $alertsList) { + foreach ($alertsList as $alert) { + $sensor = $this->sensorsProvider->findFromLogicalId($alert->sensor); + $alertsWithSensors[$state][] = [ + 'alert' => $alert, + 'sensor' => $sensor, + 'device' => $this->devicesProvider->find($sensor->device) + ]; + } + } + return view('settings.edit', compact(['user','alertsWithSensors'])); } public function update() @@ -54,7 +71,7 @@ public function update() public function updateAlerts() { - $alerts = $this->provider->findAll(); + $alerts = $this->alertsProvider->findAll(); $data = request()->validate([ 'alerts.*' => 'required|numeric' ])['alerts']; @@ -69,10 +86,10 @@ public function updateAlerts() $toEnable = array_diff($data, $enable); $toDisable = array_diff($enable, $data); foreach ($toEnable as $e) { - $this->provider->enable($e); + $this->alertsProvider->enable($e); } foreach ($toDisable as $d) { - $this->provider->disable($d); + $this->alertsProvider->disable($d); } return redirect('/settings/edit'); } diff --git a/app/Providers/SensorServiceProvider.php b/app/Providers/SensorServiceProvider.php index 5124745d..cd551ad0 100644 --- a/app/Providers/SensorServiceProvider.php +++ b/app/Providers/SensorServiceProvider.php @@ -53,6 +53,23 @@ public function find($deviceId, $sensorId) } } + public function findFromLogicalId($sensorId) + { + try { + $response = json_decode($this->request->get( + '/sensors/' . $sensorId, + $this->setHeaders() + )->getBody()); + $sensor = new Sensor(); + $sensor->fill((array)$response); + return $sensor; + } catch (RequestException $e) { + $this->isExpired($e); + abort($e->getCode(), $e->getResponse()->getReasonPhrase()); + return null; + } + } + /** * @return array|null */ diff --git a/resources/views/settings/edit.blade.php b/resources/views/settings/edit.blade.php index 5835d98b..4f25dea9 100644 --- a/resources/views/settings/edit.blade.php +++ b/resources/views/settings/edit.blade.php @@ -165,14 +165,14 @@
    Disp1{{$alert->sensor}}{{$alert->getType()}}{{$alert->threshold}}{{$list['device']->name}}{{$list['alert']->sensor}}{{$list['alert']->getType()}}{{$list['alert']->threshold}}Attivo
    - + @@ -51,7 +51,7 @@ @foreach($deviceOnGateway[1] as $device) - + @@ -86,7 +86,7 @@
    # Nome Status Gateway
    {{$device->deviceId}} {{$device->deviceId}} {{$device->name}} Attivo {{$deviceOnGateway[0]->name}}
    - + @@ -98,7 +98,7 @@ @foreach($devicesOnGateways as $deviceOnGateway) @foreach($deviceOnGateway[1] as $device) - + diff --git a/resources/views/devices/show.blade.php b/resources/views/devices/show.blade.php index 53788f5d..95d07cd2 100644 --- a/resources/views/devices/show.blade.php +++ b/resources/views/devices/show.blade.php @@ -23,7 +23,8 @@
      -
    • ID dispositivo: {{$device->deviceId}}
    • +
    • ID logico dispositivo: {{$device->deviceId}}
    • +
    • ID reale dispositivo: {{$device->realDeviceId}}
    • Nome dispositivo: {{$device->name}}
    • Gateway di appartenenza: {{$gateway->name}}
    • Numero di sensori: {{count($sensors)}}
    • @@ -46,15 +47,15 @@
    # Nome Status Gateway
    {{$device->deviceId}} {{$device->deviceId}} {{$device->name}} Attivo {{$deviceOnGateway[0]->name}}
    - - + + @foreach($sensors as $sensor) - + - + @if($status == "enable") diff --git a/resources/views/users/show.blade.php b/resources/views/users/show.blade.php index e076e381..18db1dbf 100644 --- a/resources/views/users/show.blade.php +++ b/resources/views/users/show.blade.php @@ -77,9 +77,9 @@
    @if($user->type < Auth::user()->type) - + - + Modifica From 0089a347092174eca2063763e4131dff495b5d2d Mon Sep 17 00:00:00 2001 From: Mariano Date: Fri, 10 Apr 2020 20:54:26 +0200 Subject: [PATCH 100/124] Update show.blade.php --- resources/views/sensors/show.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/sensors/show.blade.php b/resources/views/sensors/show.blade.php index 40a2f5ac..63c5a2fc 100644 --- a/resources/views/sensors/show.blade.php +++ b/resources/views/sensors/show.blade.php @@ -3,7 +3,7 @@ @section('content')
    -

    Sensore {{$sensor->realSensorId}} del dispositivo {{$sensor->device}}

    +

    Sensore {{$sensor->realSensorId}} del dispositivo {{$sensor->device}}

    From 0fb33d644e628d37e93a1f93f075b3ab82918569 Mon Sep 17 00:00:00 2001 From: Mariano Date: Fri, 10 Apr 2020 20:57:33 +0200 Subject: [PATCH 101/124] Update breadcrumbs.php --- routes/breadcrumbs.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/routes/breadcrumbs.php b/routes/breadcrumbs.php index c4aa86ef..24f91cff 100644 --- a/routes/breadcrumbs.php +++ b/routes/breadcrumbs.php @@ -31,7 +31,7 @@ // Sensori Breadcrumbs::for('sensor', function ($trail, $deviceId, $sensorId) { $trail->parent('device', $deviceId); - $trail->push('Sensore #' . $sensorId, route('sensors.show', ['deviceId' => $deviceId, 'sensorId' => $sensorId])); + $trail->push('Sensore @' . $sensorId, route('sensors.show', ['deviceId' => $deviceId, 'sensorId' => $sensorId])); }); From e9116d7eb2ee7ff4cbad3eb38a9fa0fba6b8dfbf Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Fri, 10 Apr 2020 21:15:29 +0200 Subject: [PATCH 102/124] test su User --- app/Models/User.php | 4 ++++ tests/Models/UserTest.php | 23 ++++++++++++++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/app/Models/User.php b/app/Models/User.php index d53d7345..a309cee8 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -53,4 +53,8 @@ public function setDeleted(bool $b) { $this->deleted = $b; } + public function getDeleted() + { + return $this->deleted; + } } diff --git a/tests/Models/UserTest.php b/tests/Models/UserTest.php index 7ca9b802..d2b3e8c5 100644 --- a/tests/Models/UserTest.php +++ b/tests/Models/UserTest.php @@ -27,6 +27,27 @@ public function testGetAuthIdentifier() public function testGetRole() { $user = UserServiceProvider::GetAUser(); - $this->assertEquals("Amministratore", $user->getAuthIdentifier()); + $this->assertEquals("Amministratore", $user->getRole()); + } + public function testGetPassword() + { + $user = UserServiceProvider::GetAUser(); + $this->assertEquals("password", $user->getAuthPassword()); + } + public function testGetTelegramName() + { + $user = UserServiceProvider::GetAUser(); + $this->assertEquals("pippo", $user->getTelegramName()); + } + public function testGetChatId() + { + $user = UserServiceProvider::GetAUser(); + $this->assertEquals("00000", $user->getChatId()); + } + public function testDelete() + { + $user = UserServiceProvider::GetAUser(); + $user->setDeleted(true); + $this->assertEquals(true, $user->getDeleted()); } } From 5ef98d955de3ddc6073c35a379c9de311a1ee1eb Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Fri, 10 Apr 2020 21:28:38 +0200 Subject: [PATCH 103/124] aggiunti test per alert e dichiarazione dei providers --- app/Providers/AlertServiceProvider.php | 19 +++++++++++++++++++ app/Providers/SensorServiceProvider.php | 17 +++++++++++++++++ config/app.php | 6 ++++++ tests/Models/AlertTest.php | 24 ++++++++++++++++++++++++ 4 files changed, 66 insertions(+) create mode 100644 tests/Models/AlertTest.php diff --git a/app/Providers/AlertServiceProvider.php b/app/Providers/AlertServiceProvider.php index 0c4d20bb..87484c63 100644 --- a/app/Providers/AlertServiceProvider.php +++ b/app/Providers/AlertServiceProvider.php @@ -80,4 +80,23 @@ public function enable($identifier) 'query' => ['userId' => Auth::id(), 'enable' => true] ])); } + + // =================================================== + // Mockup per un utente + // Funzione da rimuovere in production + + /** + * @return Alert + */ + public static function GetAnAlert() + { + $sensor = new Alert(); + $arr = array_combine( + array('threshold', 'type', 'deleted', 'entity', 'sensor', 'lastSent', 'alertId'), + array("10", "0", "0", '0', '0', '20-02-2020', '0') + ); + $sensor->fill($arr); + return $sensor; + } + } diff --git a/app/Providers/SensorServiceProvider.php b/app/Providers/SensorServiceProvider.php index cd551ad0..2d6358d2 100644 --- a/app/Providers/SensorServiceProvider.php +++ b/app/Providers/SensorServiceProvider.php @@ -136,4 +136,21 @@ public function fetch($sensorId) return NAN; } } + // =================================================== + // Mockup per un utente + // Funzione da rimuovere in production + + /** + * @return Sensor + */ + public static function GetASensor() + { + $sensor = new Sensor(); + $arr = array_combine( + array('sensorId', 'type', 'realSensorId', 'device'), + array("0", "Tipo", "0", '0') + ); + $sensor->fill($arr); + return $sensor; + } } diff --git a/config/app.php b/config/app.php index 999f94ab..458eff2d 100644 --- a/config/app.php +++ b/config/app.php @@ -178,6 +178,12 @@ App\Providers\UserServiceProvider::class, App\Providers\GatewayServiceProvider::class, App\Providers\SensorServiceProvider::class, + App\Providers\AlertServiceProvider::class, + App\Providers\BasicProvider::class, + App\Providers\LogsServiceProvider::class, + App\Providers\ViewGraphServiceProvider::class, + App\Providers\ViewServiceProvider::class, + ], diff --git a/tests/Models/AlertTest.php b/tests/Models/AlertTest.php new file mode 100644 index 00000000..873208d4 --- /dev/null +++ b/tests/Models/AlertTest.php @@ -0,0 +1,24 @@ +assertEquals($response, $alert->getAttributes()); + } + + public function testGetType(){ + $alert = AlertServiceProvider::GetAnAlert(); + $this->assertEquals('minore di', $alert->getType()); + } +} From bc6b692deff884a293576a771aec829098e444e6 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Fri, 10 Apr 2020 21:37:07 +0200 Subject: [PATCH 104/124] aggiornamento ignore e fix alertTest --- .gitignore | 2 ++ app/Providers/AlertServiceProvider.php | 1 - tests/Models/AlertTest.php | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 895da3b1..c4059745 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,5 @@ composer.lock package-lock.json .php_cs.cache + +fix.sh diff --git a/app/Providers/AlertServiceProvider.php b/app/Providers/AlertServiceProvider.php index 87484c63..7e1c0a75 100644 --- a/app/Providers/AlertServiceProvider.php +++ b/app/Providers/AlertServiceProvider.php @@ -98,5 +98,4 @@ public static function GetAnAlert() $sensor->fill($arr); return $sensor; } - } diff --git a/tests/Models/AlertTest.php b/tests/Models/AlertTest.php index 873208d4..784da024 100644 --- a/tests/Models/AlertTest.php +++ b/tests/Models/AlertTest.php @@ -17,7 +17,8 @@ public function testSensorAttribute() $this->assertEquals($response, $alert->getAttributes()); } - public function testGetType(){ + public function testGetType() + { $alert = AlertServiceProvider::GetAnAlert(); $this->assertEquals('minore di', $alert->getType()); } From 60d7242effa6c566fb40cc024c82d41238323ee5 Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Fri, 10 Apr 2020 22:00:21 +0200 Subject: [PATCH 105/124] fix babel --- .babelrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.babelrc b/.babelrc index c633af41..4bda09ef 100644 --- a/.babelrc +++ b/.babelrc @@ -1,5 +1,5 @@ { - "presets": [["env", { "modules": false }]], + "presets": ["@babel/preset-env"], "env": { "test": { "presets": [["env", { "targets": { "node": "current" } }]] From febf164fb7532a7e1d10b28a7e3612fc33689da8 Mon Sep 17 00:00:00 2001 From: Lorenzo Dei Negri Date: Fri, 10 Apr 2020 22:01:32 +0200 Subject: [PATCH 106/124] Fix --- .babelrc | 2 +- package-lock.json | 122 ++++++++++++++++++++++++++++++++-------------- package.json | 6 +-- 3 files changed, 89 insertions(+), 41 deletions(-) diff --git a/.babelrc b/.babelrc index c633af41..4bda09ef 100644 --- a/.babelrc +++ b/.babelrc @@ -1,5 +1,5 @@ { - "presets": [["env", { "modules": false }]], + "presets": ["@babel/preset-env"], "env": { "test": { "presets": [["env", { "targets": { "node": "current" } }]] diff --git a/package-lock.json b/package-lock.json index 0f180a3d..a5ecbaa5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -424,6 +424,15 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, + "@babel/plugin-syntax-class-properties": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.8.3.tgz", + "integrity": "sha512-UcAyQWg2bAN647Q+O811tG9MrJ38Z10jjhQdKNAL8fsyPzE3cCN/uT+f55cFVY4aGO4jqJAvmqsuY3GQDwAoXg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, "@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", @@ -442,6 +451,15 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.8.3.tgz", + "integrity": "sha512-Zpg2Sgc++37kuFl6ppq2Q7Awc6E6AIW671x5PY8E/f7MCIyPPGK/EoeZXvvY3P42exZ3Q4/t3YOzP/HiN79jDg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, "@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", @@ -4733,21 +4751,21 @@ } }, "@jest/transform": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.2.6.tgz", - "integrity": "sha512-rZnjCjZf9avPOf9q/w9RUZ9Uc29JmB53uIXNJmNz04QbDMD5cR/VjfikiMKajBsXe2vnFl5sJ4RTt+9HPicauQ==", + "version": "25.3.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.3.0.tgz", + "integrity": "sha512-W01p8kTDvvEX6kd0tJc7Y5VdYyFaKwNWy1HQz6Jqlhu48z/8Gxp+yFCDVj+H8Rc7ezl3Mg0hDaGuFVkmHOqirg==", "dev": true, "requires": { "@babel/core": "^7.1.0", - "@jest/types": "^25.2.6", + "@jest/types": "^25.3.0", "babel-plugin-istanbul": "^6.0.0", "chalk": "^3.0.0", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.0.0", "graceful-fs": "^4.2.3", - "jest-haste-map": "^25.2.6", + "jest-haste-map": "^25.3.0", "jest-regex-util": "^25.2.6", - "jest-util": "^25.2.6", + "jest-util": "^25.3.0", "micromatch": "^4.0.2", "pirates": "^4.0.1", "realpath-native": "^2.0.0", @@ -4821,9 +4839,9 @@ } }, "@jest/types": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.2.6.tgz", - "integrity": "sha512-myJTTV37bxK7+3NgKc4Y/DlQ5q92/NOwZsZ+Uch7OXdElxOg61QYc72fPYNAjlvbnJ2YvbXLamIsa9tj48BmyQ==", + "version": "25.3.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.3.0.tgz", + "integrity": "sha512-UkaDNewdqXAmCDbN2GlUM6amDKS78eCqiw/UmF5nE0mmLTd6moJkiZJML/X52Ke3LH7Swhw883IRXq8o9nWjVw==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -5072,9 +5090,9 @@ } }, "@vue/test-utils": { - "version": "1.0.0-beta.32", - "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-1.0.0-beta.32.tgz", - "integrity": "sha512-ywhe7PATMAk/ZGdsrcuQIliQusOyfe0OOHjKKCCERqgHh1g/kqPtmSMT5Jx4sErx53SYbNucr8QOK6/u5ianAw==", + "version": "1.0.0-beta.33", + "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-1.0.0-beta.33.tgz", + "integrity": "sha512-Xzqoe0lTLn3QRWfjhmKPOXYR86l0Y+g/zPHaheJQOkPLj5ojJl3rG0t4F3kXFWuLD88YzUVRMIBWOG7v9KOJQQ==", "dev": true, "requires": { "dom-event-types": "^1.0.0", @@ -5886,20 +5904,33 @@ } }, "babel-jest": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.2.6.tgz", - "integrity": "sha512-MDJOAlwtIeIQiGshyX0d2PxTbV73xZMpNji40ivVTPQOm59OdRR9nYCkffqI7ugtsK4JR98HgNKbDbuVf4k5QQ==", + "version": "25.3.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.3.0.tgz", + "integrity": "sha512-qiXeX1Cmw4JZ5yQ4H57WpkO0MZ61Qj+YnsVUwAMnDV5ls+yHon11XjarDdgP7H8lTmiEi6biiZA8y3Tmvx6pCg==", "dev": true, "requires": { - "@jest/transform": "^25.2.6", - "@jest/types": "^25.2.6", - "@types/babel__core": "^7.1.0", + "@jest/transform": "^25.3.0", + "@jest/types": "^25.3.0", + "@types/babel__core": "^7.1.7", "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^25.2.6", + "babel-preset-jest": "^25.3.0", "chalk": "^3.0.0", "slash": "^3.0.0" }, "dependencies": { + "@types/babel__core": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.7.tgz", + "integrity": "sha512-RL62NqSFPCDK2FM1pSDH0scHpJvsXtZNiYlMB73DgPBaG1E38ZYVL+ei5EkWRbr+KC4YNiAUNBnRj+bgwpgjMw==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, "ansi-styles": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", @@ -6390,6 +6421,24 @@ } } }, + "babel-preset-current-node-syntax": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.2.tgz", + "integrity": "sha512-u/8cS+dEiK1SFILbOC8/rUI3ml9lboKuuMvZ/4aQnQmhecQAgPw5ew066C1ObnEAUmlx7dv/s2z52psWEtLNiw==", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, "babel-preset-env": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", @@ -6441,14 +6490,13 @@ } }, "babel-preset-jest": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.2.6.tgz", - "integrity": "sha512-Xh2eEAwaLY9+SyMt/xmGZDnXTW/7pSaBPG0EMo7EuhvosFKVWYB6CqwYD31DaEQuoTL090oDZ0FEqygffGRaSQ==", + "version": "25.3.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.3.0.tgz", + "integrity": "sha512-tjdvLKNMwDI9r+QWz9sZUQGTq1dpoxjUqFUpEasAc7MOtHg9XuLT2fx0udFG+k1nvMV0WvHHVAN7VmCZ+1Zxbw==", "dev": true, "requires": { - "@babel/plugin-syntax-bigint": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "babel-plugin-jest-hoist": "^25.2.6" + "babel-plugin-jest-hoist": "^25.2.6", + "babel-preset-current-node-syntax": "^0.1.2" } }, "babel-runtime": { @@ -13376,18 +13424,18 @@ "dev": true }, "jest-haste-map": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.2.6.tgz", - "integrity": "sha512-nom0+fnY8jwzelSDQnrqaKAcDZczYQvMEwcBjeL3PQ4MlcsqeB7dmrsAniUw/9eLkngT5DE6FhnenypilQFsgA==", + "version": "25.3.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.3.0.tgz", + "integrity": "sha512-LjXaRa+F8wwtSxo9G+hHD/Cp63PPQzvaBL9XCVoJD2rrcJO0Zr2+YYzAFWWYJ5GlPUkoaJFJtOuk0sL6MJY80A==", "dev": true, "requires": { - "@jest/types": "^25.2.6", + "@jest/types": "^25.3.0", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "fsevents": "^2.1.2", "graceful-fs": "^4.2.3", "jest-serializer": "^25.2.6", - "jest-util": "^25.2.6", + "jest-util": "^25.3.0", "jest-worker": "^25.2.6", "micromatch": "^4.0.2", "sane": "^4.0.3", @@ -15617,12 +15665,12 @@ } }, "jest-util": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.2.6.tgz", - "integrity": "sha512-gpXy0H5ymuQ0x2qgl1zzHg7LYHZYUmDEq6F7lhHA8M0eIwDB2WteOcCnQsohl9c/vBKZ3JF2r4EseipCZz3s4Q==", + "version": "25.3.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.3.0.tgz", + "integrity": "sha512-dc625P/KS/CpWTJJJxKc4bA3A6c+PJGBAqS8JTJqx4HqPoKNqXg/Ec8biL2Z1TabwK7E7Ilf0/ukSEXM1VwzNA==", "dev": true, "requires": { - "@jest/types": "^25.2.6", + "@jest/types": "^25.3.0", "chalk": "^3.0.0", "is-ci": "^2.0.0", "make-dir": "^3.0.0" @@ -15819,9 +15867,9 @@ } }, "jquery": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.1.tgz", - "integrity": "sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw==" + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.0.tgz", + "integrity": "sha512-Xb7SVYMvygPxbFMpTFQiHh1J7HClEaThguL15N/Gg37Lri/qKyhRGZYzHRyLH8Stq3Aow0LsHO2O2ci86fCrNQ==" }, "js-beautify": { "version": "1.10.3", diff --git a/package.json b/package.json index 69a16a4d..da0483c4 100644 --- a/package.json +++ b/package.json @@ -16,10 +16,10 @@ "prettier-eslint-test-check": "eslint **/__tests__**/*.js" }, "devDependencies": { - "@vue/test-utils": "^1.0.0-beta.32", + "@vue/test-utils": "^1.0.0-beta.33", "axios": "^0.19", "babel-core": "^7.0.0-bridge.0", - "babel-jest": "^25.2.6", + "babel-jest": "^25.3.0", "babel-loader": "^8.1.0", "babel-plugin-syntax-dynamic-import": "^6.18.0", "babel-polyfill": "^6.26.0", @@ -32,7 +32,7 @@ "eslint-plugin-prettier": "^3.1.2", "eslint-plugin-vue": "^6.2.2", "jest": "24.9.0", - "jquery": "^3.2", + "jquery": "^3.5.0", "laravel-mix": "^5.0.4", "lodash": "^4.17.13", "popper.js": "^1.12", From 834df17c7a60118480c4edf171f3c50834c47607 Mon Sep 17 00:00:00 2001 From: Mariano Date: Fri, 10 Apr 2020 22:33:18 +0200 Subject: [PATCH 107/124] Fix minori --- resources/views/dashboard/index.blade.php | 2 +- resources/views/layouts/footer.blade.php | 2 +- resources/views/layouts/sidebar.blade.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/views/dashboard/index.blade.php b/resources/views/dashboard/index.blade.php index 776c88c7..88ca7ddc 100644 --- a/resources/views/dashboard/index.blade.php +++ b/resources/views/dashboard/index.blade.php @@ -128,7 +128,7 @@
    • Nome e Cognome: {{$user->name}} {{$user->surname}}
    • Indirizzo email: {{$user->email}}
    • -
    • Ente di appartenenza:{{$entity->name}}
    • +
    • Ente di appartenenza: {{$entity->name}}
    • Indirizzo IP:   {{ request()->ip() }}
    diff --git a/resources/views/layouts/footer.blade.php b/resources/views/layouts/footer.blade.php index cd99bf03..343a7004 100644 --- a/resources/views/layouts/footer.blade.php +++ b/resources/views/layouts/footer.blade.php @@ -3,7 +3,7 @@
    diff --git a/resources/views/layouts/sidebar.blade.php b/resources/views/layouts/sidebar.blade.php index f3a9cc33..3d356710 100644 --- a/resources/views/layouts/sidebar.blade.php +++ b/resources/views/layouts/sidebar.blade.php @@ -1,6 +1,6 @@ -
    diff --git a/resources/views/logs/index.blade.php b/resources/views/logs/index.blade.php index 1dff382d..b66664c0 100644 --- a/resources/views/logs/index.blade.php +++ b/resources/views/logs/index.blade.php @@ -35,13 +35,15 @@ - - - - - - - + @foreach($logs as $l) + + + + + + + + @endforeach
    ID sensoreTipologiaID reale sensoreTipo di dato
    {{$sensor->realSensorId}}{{$sensor->realSensorId}} {{$sensor->type}} + +
    {{$list['device']->name}}{{$list['alert']->sensor}}{{$list['alert']->sensor}} {{$list['alert']->getType()}} {{$list['alert']->threshold}}
    10 aprile 2015 - ore 26:00massimoaDmInfaccio cose ciao il mio ip
    {{$l["log"]->time}}{{$l['user']->name. ' ' .$l['user']->surname}}{{$l['user']->getRole()}}{{$l["log"]->operation}}{{$l["log"]->ipAddr}}
    @@ -50,3 +52,4 @@
    +@endsection diff --git a/routes/web.php b/routes/web.php index 8e3f5bce..5e857c97 100644 --- a/routes/web.php +++ b/routes/web.php @@ -72,9 +72,7 @@ Route::get('/data/{sensorId}', 'SensorController@fetch')->name('sensors.fetch'); //logs -Route::get('/logs', 'LogsController@index')->name('logs.index')->middleware(['can:isAdmin' || 'can:isMod']);;//TODO -Route::get('/logs/{logId}', 'LogsController@show')->name('logs.show');//TODO - +Route::get('/logs', 'LogsController@index')->name('logs.index')->middleware(['can:isAdmin' || 'can:isMod']); Route::post('/viewGraphs/{viewId}', 'GraphsController@store')->name('graphs.store'); Route::delete('/viewGraphs/{viewGraphId}', 'GraphsController@destroy')->name('graphs.destroy'); From 3f5e81ef02f7b097242063ec977fa2fc9ad66b9f Mon Sep 17 00:00:00 2001 From: Giuseppe Vito Bitetti Date: Fri, 10 Apr 2020 23:07:29 +0200 Subject: [PATCH 110/124] aggiornamento sidebar --- resources/views/dashboard/index.blade.php | 24 ++++++++++++----------- resources/views/layouts/sidebar.blade.php | 2 ++ 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/resources/views/dashboard/index.blade.php b/resources/views/dashboard/index.blade.php index 0bcacb3d..d1ae6a18 100644 --- a/resources/views/dashboard/index.blade.php +++ b/resources/views/dashboard/index.blade.php @@ -100,21 +100,23 @@ -
    - From e7cb716290ad610074424a1b9a21542e0cc53654 Mon Sep 17 00:00:00 2001 From: Mariano Date: Fri, 10 Apr 2020 23:07:58 +0200 Subject: [PATCH 111/124] Update sidebar.blade.php --- resources/views/layouts/sidebar.blade.php | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/resources/views/layouts/sidebar.blade.php b/resources/views/layouts/sidebar.blade.php index 3d356710..9ad8dea6 100644 --- a/resources/views/layouts/sidebar.blade.php +++ b/resources/views/layouts/sidebar.blade.php @@ -48,20 +48,19 @@ @can('isMod') -