Mail routing parent/children, domain name validation, nodelist import changes and other fixes
This commit is contained in:
@@ -39,6 +39,7 @@ If you have more than 1 BBS, then the Clearing House can receive all your mail f
|
||||
<ul>
|
||||
<li>Supports BINKP network transfers</li>
|
||||
<li>Supports EMSI network transfers</li>
|
||||
<li>Automatic route configuration</li>
|
||||
<li>Manages ECHO areas and FILE areas <sup>To be implemented</sup></li>
|
||||
<li>Supports PING and TRACE responses <sup>To be implemented</sup></li>
|
||||
<li>Nodelist Management <sup>To be implemented</sup></li>
|
||||
|
@@ -68,26 +68,7 @@
|
||||
|
||||
<tbody>
|
||||
@foreach ($o->zones->sortBy('zone_id') as $oz)
|
||||
<!-- First System Zone -->
|
||||
<tr>
|
||||
<td>{{ sprintf('ZC-%s-%05d',$oz->domain->name,$oz->zone_id) }}</td>
|
||||
<td>{{ $oz->system->sysop }}</td>
|
||||
<td>{{ $oz->system->location }}</td>
|
||||
<td>{{ $oz->zone_id }}:0/0</td>
|
||||
<td>{{ $oz->system->last_session ? $oz->system->last_session->format('Y-m-d H:i') : '-' }}</td>
|
||||
</tr>
|
||||
|
||||
@foreach ($oz->addresses()->active()->FTNorder()->where('point_id',0)->whereNull('hub_id')->with(['system.sessions','system.setup','zone.domain'])->get() as $ao)
|
||||
@if ($ao->role == 'Host')
|
||||
<tr>
|
||||
<td>{{ sprintf('NC-%s-%05d',$oz->domain->name,$ao->host_id) }} @auth<span class="float-end"><small>[{{ $ao->system_id }}]</small></span>@endauth</td>
|
||||
<td>{{ $ao->system->sysop }}</td>
|
||||
<td>{{ $ao->system->location }}</td>
|
||||
<td>{{ $oz->zone_id }}:{{ $ao->host_id }}/0</td>
|
||||
<td>{{ $ao->system->last_session ? $ao->system->last_session->format('Y-m-d H:i') : '-' }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
@foreach ($oz->addresses as $ao)
|
||||
<tr>
|
||||
<td><a href="{{ url('ftn/system/addedit',[$ao->system_id]) }}">{{ $ao->system->full_name($ao) }}</a> @auth<span class="float-end"><small>@if($ao->session('sespass'))<sup>*</sup>@elseif($ao->system->setup)<sup class="success">+</sup>@endif[{{ $ao->system_id }}]</small></span>@endauth</td>
|
||||
<td>{{ $ao->system->sysop }}</td>
|
||||
@@ -95,19 +76,6 @@
|
||||
<td>{{ $ao->ftn_3d }}</td>
|
||||
<td>{{ $ao->system->last_session ? $ao->system->last_session->format('Y-m-d H:i') : '-' }}</td>
|
||||
</tr>
|
||||
|
||||
<!-- If this node is a hub -->
|
||||
@if ($ao->role == 'Hub')
|
||||
@foreach ($oz->addresses()->active()->FTNorder()->where('point_id',0)->where('hub_id',$ao->id)->with(['system.sessions','zone.domain'])->get() as $aoo)
|
||||
<tr>
|
||||
<td><a href="{{ url('ftn/system/addedit',[$ao->system_id]) }}">{{ $aoo->system->full_name($aoo) }}</a> @auth<span class="float-end"><small>[{{ $aoo->system_id }}]</small></span>@endauth</td>
|
||||
<td>{{ $aoo->system->sysop }}</td>
|
||||
<td>{{ $aoo->system->location }}</td>
|
||||
<td>{{ $aoo->ftn_3d }}</td>
|
||||
<td>{{ $aoo->system->last_session ? $aoo->system->last_session->format('Y-m-d H:i') : '-' }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
@endforeach
|
||||
@endforeach
|
||||
</tbody>
|
||||
|
@@ -157,7 +157,7 @@
|
||||
<tr>
|
||||
<td>{{ $oo->ftn }}</td>
|
||||
<td>{{ $oo->active ? 'YES' : 'NO' }}</td>
|
||||
<td>{{ $oo->role }}</td>
|
||||
<td>{{ $oo->role_name }}</td>
|
||||
<td style="width: 70px;">
|
||||
@if (! $oo->children)
|
||||
@can('admin',$oo)
|
||||
@@ -185,6 +185,83 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Routing -->
|
||||
<div class="accordion-item">
|
||||
<h3 class="accordion-header" id="routing" data-bs-toggle="collapse" data-bs-target="#collapse_routing" aria-expanded="false" aria-controls="collapse_routing">Mail Routing</h3>
|
||||
|
||||
<div id="collapse_routing" class="accordion-collapse collapse {{ (session()->has('add_address')) ? 'show' : '' }}" aria-labelledby="addresses" data-bs-parent="#accordion_homepage">
|
||||
<div class="accordion-body">
|
||||
<div class="row">
|
||||
<!-- Zone mail sent to -->
|
||||
<div class="col-6">
|
||||
@if(! $o->setup && ($x=\App\Models\Zone::active()
|
||||
->whereIn('id',$o->zones->pluck('id'))
|
||||
->whereNotIn('id',$o->sessions->pluck('id'))
|
||||
->get())->count())
|
||||
|
||||
<h4>This host's mail is sent to:</h4>
|
||||
<table class="table monotable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Zone</th>
|
||||
<th>System</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach($x as $zo)
|
||||
<!-- @todo Not showing when multiple addresses in the same domain -->
|
||||
@foreach ($o->match($zo) as $oo)
|
||||
<tr>
|
||||
<td>{{ $oo->ftn }}</td>
|
||||
<td>
|
||||
@if ($x=$oo->parent())
|
||||
{{ $x->ftn4d }}
|
||||
@else
|
||||
No destination for mail.
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<!-- Systems this host collects for -->
|
||||
<div class="col-6">
|
||||
<h4>This host collects mail for the following systems:</h4>
|
||||
|
||||
@if($o->sessions->count())
|
||||
<table class="table monotable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Zone</th>
|
||||
<th>System</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach ($o->sessions->sortBy('zone_id') as $zo)
|
||||
@foreach ($o->match($zo) as $oo)
|
||||
<tr>
|
||||
<td>{{ $oo->ftn }}</td>
|
||||
<td>{!! (($x=$oo->children) && $x->count()) ? $x->pluck('ftn4d')->join('<br>') : 'None' !!}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
@else
|
||||
<p>This host doesnt collect mail.</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@else
|
||||
@include('system.form-system')
|
||||
@endif
|
||||
|
@@ -1,7 +1,6 @@
|
||||
@if(($x=\App\Models\Zone::active()
|
||||
->whereIn('id',$o->zones->pluck('id'))
|
||||
->whereNotIn('id',$o->sessions->pluck('id'))
|
||||
->with(['domain'])
|
||||
->get())->count())
|
||||
|
||||
<hr>
|
||||
|
Reference in New Issue
Block a user