Added FTN list, System View

This commit is contained in:
Deon George
2022-11-25 17:44:03 +07:00
parent 102a972fcb
commit c034ce6cd4
14 changed files with 278 additions and 21 deletions

View File

@@ -43,14 +43,18 @@
</div>
<div class="col-4">
@if ($o->nodelist_filename)
<label for="nodelist_filename" class="form-label">Nodelist Filearea</label>
<div class="input-group">
<span class="input-group-text"><i class="bi bi bi-file-earmark-break-fill"></i></span>
<input type="text" class="form-control" id="nodelist_filename" placeholder="Nodelist" name="nodelist_filename" value="{{ $o->nodelist_filename }}" readonly>
</div>
@if ($o->managed())
@if ($o->nodelist_filename)
<label for="nodelist_filename" class="form-label">Nodelist Filearea</label>
<div class="input-group">
<span class="input-group-text"><i class="bi bi bi-file-earmark-break-fill"></i></span>
<input type="text" class="form-control" id="nodelist_filename" placeholder="Nodelist" name="nodelist_filename" value="{{ $o->nodelist_filename }}" readonly>
</div>
@else
No Nodelist filearea
@endif
@else
No Nodelist filearea
This domain is not configured here.
@endif
</div>
</div>

View File

@@ -0,0 +1,45 @@
@extends('layouts.app')
@section('htmlheader_title')
Known FTN Networks
@endsection
@section('content')
<div class="row pt-0">
<div class="col-12">
<h2>List of known FTN Networks</h2>
<p>Here is a list of known <strong class="highlight">FTN Networks</strong>.</p>
</div>
<div class="col-10 pt-2">
<table class="table monotable">
<thead>
<tr>
<th>Domain</th>
<th>Zones</th>
<th>Active</th>
<th>Available Here</th>
<th>Head Quarters</th>
<th>Known Systems</th>
</tr>
</thead>
<tbody>
@foreach (\App\Models\Domain::public()->orderBy('name')->with(['zones.addresses.system'])->get() as $do)
<tr>
<td>{{ $do->name }}</td>
<td>{{ $do->zones->pluck('zone_id')->sort()->join(', ') }}</td>
<td class="text-end">{{ $do->active ? 'YES' : 'NO' }}</td>
<td class="text-end">{{ $do->managed() ? 'YES' : 'NO' }}</td>
<td>
@foreach (($x=$do->zones->pluck('addresses')->flatten())->where('role',\App\Models\Address::NODE_ZC) as $ao)
{{ $ao->system->sysop }}, <a href="{{ url('system/view',$ao->system_id) }}">{{ $ao->system->name }}</a>
@endforeach
</td>
<td class="text-end">{{ $x->pluck('system')->unique('name')->count() }}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@endsection

View File

@@ -1,5 +1,15 @@
<div id="sidebar-scroller">
FTN Networks
<dl>
<dt>Expore Networks</dt>
@foreach (\App\Models\Domain::select(['id','name'])
->when(((! $user) || (! $user->isAdmin())),function($query) { return $query->public()->active(); })
->orderBy('name')->get() as $o)
<dd><a href="{{ url('network',['id'=>$o->id]) }}" title="{{ $o->description }}">{{ $o->name }}</a></dd>
@endforeach
</dl>
@auth
<dl>
<dt>Network Admin</dt>
@@ -24,15 +34,6 @@
@endcan
@endauth
<dl>
<dt>Expore Networks</dt>
@foreach (\App\Models\Domain::active()
->when((! $user),function($query) { return $query->public(); })
->orderBy('name')->get() as $o)
<dd><a href="{{ url('network',['id'=>$o->id]) }}" title="{{ $o->description }}">{{ $o->name }}</a></dd>
@endforeach
</dl>
<dl>
<dt>Debug</dt>
<dd><a href="{{ url('pkt') }}">Verify Packet</a></dd>

View File

@@ -4,6 +4,7 @@
<ul id="navlist-desktop">
<li><a href="{{ url($user ? 'dashboard' : '/') }}" class="@if(preg_match('#^/#',request()->path()))thispage @endif"><span>Home</span></a></li>
<li><a href="{{ url('about') }}" class="@if(preg_match('#^about#',request()->path()))thispage @endif"><span>About</span></a></li>
<li><a href="{{ url('domain/list') }}" class="@if(preg_match('#^list#',request()->path()))thispage @endif"><span>FTN List</span></a></li>
{{--
<li><a href="{{ url('help') }}" class="@if(preg_match('#^help#',request()->path()))thispage @endif disabled"><span>Help</span></a></li>
--}}

View File

@@ -59,7 +59,7 @@ use App\Models\Setup;
<tr><th colspan="2">System Addresses</th></tr>
</thead>
<tbody>
@foreach ($o->system->addresses->groupBy('zone_id') as $zones)
@foreach ($o->system->addresses->sortBy('zone.domain.name')->groupBy('zone_id') as $zones)
<tr>
<th>{{ $zones->first()->zone->domain->name }}</th>
<th class="text-end">{!! $zones->pluck('ftn')->join('<br>') !!}</th>

View File

@@ -0,0 +1,104 @@
<!-- $o=System::class -->
@extends('layouts.app')
@section('htmlheader_title')
Systems
@endsection
@section('content')
<div class="row">
<div class="col-12">
<h2>{{ $o->name }}</h2>
<table class="table monotable">
<tbody>
<tr>
<th>System Name</th>
<td>{{ $o->name }} @can('update',$o)<span class="btn btn-success btn-sm float-end"><a href="{{ url('ftn/system/addedit',$o->id) }}">Edit</a></span>@endcan</td>
</tr>
<tr>
<th>Sysop</th>
<td>{{ $o->sysop }}</td>
</tr>
<tr>
<th>Location</th>
<td>{{ $o->location }}</td>
</tr>
<tr>
<th>Address</th>
<td>{{ $o->access_method }}</td>
</tr>
<tr>
<th>Mailer</th>
<td>{{ $o->access_mailer }}</td>
</tr>
@if($o->phone)
<tr>
<th>Phone</th>
<td>{{ $o->phone }}</td>
</tr>
@endif
@if($o->addresses->count())
<tr>
<th>FTN Addresses</th>
<td>
<table class="table noborder">
<thead>
<tr>
<th>Domain</th>
<th>Addresses</th>
</tr>
</thead>
<tbody>
@foreach($o->addresses->sortBy('zone.domain.name')->groupBy('zone.domain.name') as $name => $children)
<tr>
<td><a href="{{ url('network',[$children->first()->zone->domain_id]) }}">{{ $name }}</a></td>
<td>{{ $children->pluck('ftn3d')->join(', ') }}</td>
</tr>
@endforeach
</tbody>
</table>
</td>
</tr>
<tr>
<th>Echoarea Activity</th>
<td>
<table class="table noborder">
<thead>
<tr>
<th>Domain</th>
<th>Echoarea</th>
<th class="text-end">#</th>
<th class="text-end">Last</th>
</tr>
</thead>
<tbody>
@foreach($o->addresses->sortBy('zone.domain.name')->groupBy('zone.domain.name') as $net => $children)
@if($children->pluck('echomails')->flatten()->count())
@foreach($children->pluck('echomails')->flatten()->sortBy('echoarea.name')->groupBy('echoarea.name') as $name => $echomails)
<tr>
<td><a href="{{ url('network',[$children->first()->zone->domain_id]) }}">{{ $net }}</a></td>
<td><a href="{{ url('echoarea/view',[$x=$echomails->first()->echoarea_id]) }}">{{ $name }}</a></td>
<td class="text-end">{{ ($y=$children->pluck('echomail_from')->flatten()->where('echoarea_id',$x))->count() }}</td>
<td class="text-end">{{ $y->max('datetime') }}</td>
</tr>
@endforeach
@else
<tr>
<td><a href="{{ url('network',[$children->first()->zone->domain_id]) }}">{{ $net }}</a></td>
<td colspan="3">No Echoarea Activity</td>
</tr>
@endif
@endforeach
</tbody>
</table>
</td>
</tr>
@endif
</tbody>
</table>
</div>
</div>
@endsection