From db5576ed7287341b70c90aeb3b839aaa9aad0ff7 Mon Sep 17 00:00:00 2001 From: Thibault Debatty <thibault.debatty@gmail.com> Date: Fri, 20 Jul 2018 12:26:46 +0200 Subject: [PATCH] Basic server view --- web/app/Server.php | 16 +++++++ web/resources/views/server/show.blade.php | 52 ++++++++++++++--------- 2 files changed, 48 insertions(+), 20 deletions(-) diff --git a/web/app/Server.php b/web/app/Server.php index 604b0c5..b9d5e77 100644 --- a/web/app/Server.php +++ b/web/app/Server.php @@ -2,6 +2,7 @@ namespace App; +use MongoDB\Client as Mongo; use Illuminate\Database\Eloquent\Model; class Server extends Model @@ -17,4 +18,19 @@ class Server extends Model public function organization() { return $this->belongsTo("App\Organization"); } + + public function lastRecord() { + $collection = (new Mongo)->monitoring->records; + return $collection->findOne( + ["server_id" => $this->id], + ["sort" => ["_id" => -1]]); + } + + public function lastRecordTime() { + return $this->lastRecord()->time; + } + + public function clientVersion() { + return $this->lastRecord()->version; + } } diff --git a/web/resources/views/server/show.blade.php b/web/resources/views/server/show.blade.php index 0f4873c..2544ab6 100644 --- a/web/resources/views/server/show.blade.php +++ b/web/resources/views/server/show.blade.php @@ -2,33 +2,45 @@ @section('content') <div class="container"> - <div class="row justify-content-center"> - <div class="col-md-8"> + <div class="row"> + <div class="col-md-4"> <div class="card"> - <div class="card-header">{{ $server->name }}</div> - <div class="card-body"> - <p>Name: {{ $server->name }}</p> + <p>Last heartbeet:<br> + {{ Carbon\Carbon::createFromTimestamp($server->lastRecordTime())->toDateTimeString() }}</p> - <div> - <a class="btn btn-primary" - href="{{ action('ServerController@edit', ['Server' => $server]) }}"> - <i class="fa fa-pencil" aria-hidden="true"></i> Edit - </a> + <p>Client version: {{ $server->clientVersion() }}</p> + </div> + </div> - <form method="POST" - action="{{ action('ServerController@destroy', ['Server' => $server]) }}" - style="display: inline-block"> - {{ csrf_field() }} - {{ method_field("DELETE") }} - <button class="btn btn-danger"> - <i class="fa fa-times-circle" aria-hidden="true"></i> Delete - </button> - </form> - </div> + <div class="card"> + <div class="card-header"> + <h4>Danger zone</h4> + </div> + + <div class="card-body"> + <a class="btn btn-primary" + href="{{ action('ServerController@edit', ['Server' => $server]) }}"> + <i class="fa fa-pencil" aria-hidden="true"></i> Edit + </a> + + <form method="POST" + action="{{ action('ServerController@destroy', ['Server' => $server]) }}" + style="display: inline-block"> + {{ csrf_field() }} + {{ method_field("DELETE") }} + <button class="btn btn-danger"> + <i class="fa fa-times-circle" aria-hidden="true"></i> Delete + </button> + </form> </div> </div> </div> + + <div class="col-md-8"> + <h1>{{ $server->name }}</h1> + </div> + </div> </div> @endsection -- GitLab