More complete rework of packet parsing and packet generation with 29710c

This commit is contained in:
2024-05-19 23:28:45 +10:00
parent 46f52dd56d
commit f279d85b08
43 changed files with 412 additions and 291 deletions

View File

@@ -16,7 +16,7 @@ use Illuminate\Support\Facades\Notification;
use Illuminate\Support\ViewErrorBag;
use App\Classes\FTN\Message;
use App\Http\Requests\{AddressMerge,AreafixRequest,SystemRegister,SystemSessionRequest};
use App\Http\Requests\{AddressMerge,AreafixRequest,SystemEchoareaRequest,SystemRegister,SystemSessionRequest};
use App\Jobs\AddressPoll;
use App\Models\{Address,Echoarea,Echomail,Filearea,Netmail,Setup,System,Zone};
use App\Notifications\Netmails\AddressLink;
@@ -694,30 +694,20 @@ class SystemController extends Controller
/**
* Update the systems echoareas
*
* @param Request $request
* @param SystemEchoareaRequest $request
* @param System $o
* @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View|\Illuminate\Http\RedirectResponse
*/
public function echoareas(Request $request,System $o)
public function echoareas(SystemEchoareaRequest $request,System $o)
{
$ao = $o->addresses->firstWhere('id',$request->address_id);
if (($request->method() === 'POST') && $request->post()) {
session()->flash('accordion','echoarea');
if ($ao->trashed() && collect($request->get('id'))->diff($ao->echoareas->pluck('id'))->count())
return redirect()->back()->withErrors(sprintf('Address [%s] has been deleted, cannot add additional echos',$ao->ftn3d));
// Ensure we have session details for this address.
if (! $ao->session('sespass'))
return redirect()->back()->withErrors('System doesnt belong to this network');
$ao->echoareas()->syncWithPivotValues($request->get('id',[]),['subscribed'=>Carbon::now()]);
if (($request->method() === 'POST') && $request->validated()) {
$ao->echoareas()->syncWithPivotValues($request->validated('id',[]),['subscribed'=>Carbon::now()]);
return redirect()->back()->with('success','Echoareas updated');
}
// @todo Allow a NC/RC/ZC to override
$eo = Echoarea::active()
->where('domain_id',$ao->zone->domain_id)
->where(function($query) use ($ao) {
@@ -869,7 +859,7 @@ class SystemController extends Controller
*/
public function session_del(System $o,Zone $zo)
{
$this->authorize('admin',$zo);
$this->authorize('update_nn',$o);
session()->flash('accordion','session');
$o->sessions()->detach($zo);