Skip to content
Snippets Groups Projects
Commit aa0f4751 authored by btalhaoui's avatar btalhaoui
Browse files

Added reboot status on dashboard

parent 9f0ce427
No related branches found
No related tags found
No related merge requests found
......@@ -2,8 +2,10 @@
namespace App\Http\Controllers;
use App\Models\Organizations;
use App\Models\Server;
use App\Models\Sensors;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class HomeController extends Controller
{
......@@ -12,11 +14,9 @@ class HomeController extends Controller
*
* @return void
*/
public $model;
public function __construct(Sensors $sensor)
public function __construct()
{
$this->middleware('auth');
$this->model = $sensor;
}
/**
......@@ -26,6 +26,14 @@ class HomeController extends Controller
*/
public function index()
{
return view("home",['sensor' => Sensors::all()]);
$organization = Auth::user()->organizations()->get();
foreach($organization as $org){
$servers = $org->servers()->get();
foreach($servers as $server){
$server->lastState = $server->getLastState();
}
$org->servers = $servers;
}
return view("home",['organization' => $organization]);
}
}
......@@ -23,7 +23,7 @@ class OrganizationController extends Controller
if($org==null)abort(404);
$servers = $org->servers()->get();
foreach($servers as $server){
$server->sensors($server->id);
$server->sensors();
}
return view("org/detail",['organization' => $org , 'servers' => $servers]);
}
......
......@@ -17,4 +17,5 @@ class Organizations extends Model
{
return $this->hasMany('App\Models\Server', 'organization_id');
}
}
......@@ -13,6 +13,6 @@ class Sensors extends Moloquent
public function server($id)
{
$server = Server::find($id);
$this->server = Server::find($id);
}
}
\ No newline at end of file
......@@ -8,12 +8,26 @@ class Server extends Model
{
protected $fillable = ['name'];
public $sensors;
protected $primaryKey = 'id';
public $lastState;
public function organization()
{
return $this->belongsTo('App\Models\Organizations');
}
public function sensors($id)
public function sensors()
{
$sensors = Sensors::where("server_id","".$this->getKey())->get();
foreach($sensors as $sensor){
$sensor["content"] = json_decode($sensor["content"]);
}
return $this->sensors = $sensors;
}
public function getLastState()
{
$this->sensors = json_encode(Sensors::where("server_id","".$id)->get());
$sensor = Sensors::where("server_id","".$this->getKey())->orderBy('created_at', 'desc')->first();
$sensor["content"] = json_decode($sensor["content"]);
return $this->lastState = $sensor;
}
}
......@@ -16,7 +16,23 @@
Look at your organizations : <a href="org">
Organizations
</a>
@foreach($organization as $org)
<p> Organization : {{ $org->name }}</p>
@foreach ($org->servers as $server)
<p> Server : {{ $server->name }}</p>
@if ($server->lastState["content"] != null)
<p> Last updated state:</p>
@if($server->lastState["content"]->{"Reboot"})
<p> ok</p>
@else
<p>not ok</p>
@endif
@endif
@endforeach
@endforeach
</div>
</div>
</div>
......
......@@ -8,7 +8,20 @@
<div class="panel-heading">Organization : {{ $organization->name }}</div>
@foreach ($servers as $server)
<p> Server : {{ $server->name }}</p>
<p> Sensors : {{ $server->sensors }}</p>
@if ($server->sensors !=null)
<p> Sensors :}</p>
@foreach($server->sensors as $sensor){
<p> {{$sensor["content"]->{"TCP"} }}</p>
<p> {{$sensor["content"]->{"UDP"} }}</p>
<p> {{$sensor["content"]->{"Network"} }}</p>
<p> {{$sensor["content"]->{"Inodes"} }}</p>
@if($sensor["content"]->{"Reboot"})
<p> ok</p>
@else
<p>not ok</p>
@endif
@endforeach
@endif
@endforeach
</div>
</div>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment