middleware('auth'); } /** * Add or edit a node */ public function add_edit(Request $request,Zone $o) { if ($request->post()) { $this->authorize('admin',$o); $request->validate([ 'domain_id' => 'required|exists:domains,id', 'zone_id' => [ 'required', 'digits_between:1,5', Rule::unique('zones')->where(function ($query) use ($request,$o) { return $query->where('domain_id',$request->post('domain_id')) ->when($o->exists,function($query) use ($o) { return $query->where('id','<>',$o->id); }); }) ], 'system_id' => 'required|exists:systems,id', 'ztid' => 'nullable|size:10|regex:/^([A-Fa-f0-9]){10}$/', 'active' => 'required|boolean', ]); foreach (['zone_id','domain_id','system_id','active','notes','ztid'] as $key) $o->{$key} = $request->post($key); $o->save(); return redirect()->action([self::class,'home']); } return view('zone.addedit') ->with('o',$o); } public function home() { return view('zone.home'); } }