Added system polling

This commit is contained in:
2023-07-26 19:44:07 +10:00
parent c23b5ebfc2
commit 4e44e2e266
19 changed files with 733 additions and 88 deletions

View File

@@ -12,6 +12,7 @@ use Illuminate\Support\Facades\Notification;
use Illuminate\Support\ViewErrorBag;
use App\Http\Requests\SystemRegister;
use App\Jobs\AddressPoll;
use App\Models\{Address,Echoarea,Filearea,Setup,System,SystemZone,Zone};
use App\Notifications\Netmails\AddressLink;
use App\Rules\{FidoInteger,TwoByteInteger};
@@ -279,6 +280,13 @@ class SystemController extends Controller
foreach (['name','location','sysop','hold','phone','address','port','active','method','notes','zt_id','pkt_type'] as $key)
$o->{$key} = $request->post($key);
switch ($request->post('pollmode')) {
case 1: $o->pollmode = FALSE; break;
case 2: $o->pollmode = TRUE; break;
default: $o->pollmode = NULL;
}
$o->autohold = FALSE;
$o->save();
$mailers = collect($request->post('mailer_details'))
@@ -653,8 +661,10 @@ class SystemController extends Controller
break;
}
if ($ca->count() && $la=$ca->pop())
if ($ca->count() && $la=$ca->pop()) {
Notification::route('netmail',$la)->notify(new AddressLink(Auth::user()));
AddressPoll::dispatch($la)->delay(15);
}
return view('user.system.register_send')
->with('la',$la)

View File

@@ -27,6 +27,14 @@ class SystemRegister extends FormRequest
return Gate::allows($this->so->users->count() ? 'update' : 'register',$this->so);
}
public function messages(): array
{
return [
'hold' => 'Must be Yes or No',
'pollmode' => 'Must be Hold, Normal or Crash',
];
}
/**
* Get the validation rules that apply to the request.
*
@@ -64,6 +72,7 @@ class SystemRegister extends FormRequest
$this->so->exists ? [
'active' => 'required|boolean',
'hold' => 'required|boolean',
'pollmode' => 'required|integer|min:0|max:2',
] : [],
));
}