oldest() ->get(); $users = User::query() ->orderByProfileField("last_name") ->orderByProfileField("first_name") ->get(); return inertia("Keys", [ "keys" => KeyResource::collection($keys), "users" => SimpleUserResource::collection($users), "can" => [ "manageKeys" => $request->user()->can("manage", Key::class), ], ]); } /** * @throws AuthorizationException */ public function store(Request $request): RedirectResponse { $this->authorize("manageKeys"); $key = $request->user()->keys()->create(); return redirect() ->back() ->with("success", __("Key no :number has been created.", [ "number" => $key->id, ])); } public function take(Key $key, Request $request): RedirectResponse { $previousUser = $key->user; $key->user()->associate($request->user()); $key->save(); return redirect() ->back() ->with("success", __("Key no :number has been taken from :user.", [ "number" => $key->id, "user" => $previousUser->profile->full_name, ])); } public function give(Key $key, GiveKeyRequest $request): RedirectResponse { $recipient = $request->recipient(); $key->user()->associate($recipient); $key->save(); return redirect() ->back() ->with("success", __("Key no :number has been given to :user.", [ "number" => $key->id, "user" => $recipient->profile->full_name, ])); } public function destroy(Key $key): RedirectResponse { $this->authorize("manageKeys"); $key->delete(); return redirect() ->back() ->with("success", __("Key no :number has been deleted.", [ "number" => $key->id, ])); } }