Enhance the system link/register selection

This commit is contained in:
2023-10-05 11:11:21 +11:00
parent 32c0088339
commit 495a27cfed
3 changed files with 40 additions and 115 deletions

View File

@@ -8,7 +8,7 @@ use Illuminate\Support\Facades\Gate;
use Illuminate\Validation\Rule;
use App\Classes\FTN\Packet;
use App\Models\System;
use App\Models\{Setup,System};
// @todo rename to SystemRegisterRequest
class SystemRegister extends FormRequest
@@ -22,9 +22,17 @@ class SystemRegister extends FormRequest
*/
public function authorize(Request $request)
{
$this->so = System::findOrNew($request->system_id);
$this->so = new System;
return Gate::allows($this->so->users->count() ? 'update' : 'register',$this->so);
if (is_numeric($request->name)) {
$this->so = System::findOrNew($request->name);
// Cannot claim this site
if ($this->so->id === Setup::findOrFail(config('app.id'))->system_id)
return FALSE;
}
return Gate::allows(is_numeric($request->name) && $this->so->users->count() ? 'update' : 'register',$this->so);
}
public function messages(): array