Fix for system registration, new systems couldnt be added.

This commit is contained in:
Deon George 2023-04-14 19:47:33 +10:00
parent 51e915b73d
commit c5500020ae
3 changed files with 29 additions and 27 deletions

View File

@ -580,7 +580,7 @@ class SystemController extends Controller
} }
/** /**
* register system * Register a system, or link to an existing system
*/ */
public function system_register(SystemRegister $request) public function system_register(SystemRegister $request)
{ {
@ -588,14 +588,14 @@ class SystemController extends Controller
if ($request->isMethod('GET')) if ($request->isMethod('GET'))
return view('user.system.register'); return view('user.system.register');
if ($request->action != 'create') if ($request->action === 'register' && $request->system_id)
return view('user.system.widget.register_confirm') return view('user.system.widget.register_confirm')
->with('o',System::findOrFail($request->system_id)); ->with('o',System::findOrFail($request->system_id));
$o = System::findOrNew($request->system_id); $o = System::findOrNew($request->system_id);
// If the system exists, and we are 'register', we'll start the address claim process // If the system exists, and we are 'register', we'll start the address claim process
if ($o->exists && $request->action == 'register') { if ($o->exists && $request->action === 'Link') {
$validate = Setup::findOrFail(config('app.id'))->system->inMyZones($o->addresses); $validate = Setup::findOrFail(config('app.id'))->system->inMyZones($o->addresses);
// If we have addresses, we'll trigger the routed netmail // If we have addresses, we'll trigger the routed netmail

View File

@ -27,24 +27,26 @@ class SystemRegister extends FormRequest
/** /**
* Get the validation rules that apply to the request. * Get the validation rules that apply to the request.
* *
* If the system exists (POST & action="register" & system_id=<value>), then no validation required
* If the system doesnt exist (POST & action="register" & system_id undefined) then we need just a name to start the process (action="create")
* Then, full validation
* @return array * @return array
*/ */
public function rules(Request $request) public function rules(Request $request)
{ {
if ((! $request->isMethod('post')) || ($request->action == 'register')) if ((! $request->isMethod('post')) || ($request->action === 'register'))
return []; return [];
if ((! $this->so->exists) && ($request->action == 'create')) { if ((! $this->so->exists) && ($request->action === 'create'))
return [ return [
'name' => 'required|min:3', 'name' => 'required|min:3',
]; ];
}
return array_filter(array_merge( return array_filter(array_merge(
[ [
'name' => 'required|min:3', 'name' => 'required|min:3',
], ],
($this->so->exists || ($request->action != 'create')) ? [ ($this->so->exists || ($request->action !== 'create')) ? [
'location' => 'required|min:3', 'location' => 'required|min:3',
'sysop' => 'required|min:3', 'sysop' => 'required|min:3',

View File

@ -34,7 +34,7 @@
</div> </div>
</div> </div>
@if (old('submit') != 'create') @if (old('submit') !== 'create')
<div class="row"> <div class="row">
<div class="col-12 pb-2"> <div class="col-12 pb-2">
<button type="button" name="submit" class="btn btn-success">Next</button><span id="next" class="m-2"><i class="spinner-border spinner-border-sm text-light d-none"></i></span> <button type="button" name="submit" class="btn btn-success">Next</button><span id="next" class="m-2"><i class="spinner-border spinner-border-sm text-light d-none"></i></span>
@ -131,7 +131,7 @@
switch (data.status) { switch (data.status) {
case 200: case 200:
// if json is null, means no match, won't do again. // if json is null, means no match, won't do again.
if(data.responseText==null || (data.responseText.length===0)) return; if(data.responseText===null || (data.responseText.length===0)) return;
$('#create').empty().append(data.responseText); $('#create').empty().append(data.responseText);
@if($errors->count()) @if($errors->count())
@ -166,7 +166,7 @@
}) })
} }
if ({{ old('submit') == 'create' ? 'true' : 'false' }}) { if ({{ old('submit') === 'create' ? 'true' : 'false' }}) {
getform(); getform();
} }