Request::all('search', 'trashed'), 'organizations' => Auth::user()->account->organizations() ->orderBy('name') ->filter(Request::only('search', 'trashed')) ->paginate() ->only('id', 'name', 'phone', 'city', 'deleted_at'), ]); } public function create() { return Inertia::render('Organizations/Create'); } public function store() { Auth::user()->account->organizations()->create( Request::validate([ 'name' => ['required', 'max:100'], 'email' => ['nullable', 'max:50', 'email'], 'phone' => ['nullable', 'max:50'], 'address' => ['nullable', 'max:150'], 'city' => ['nullable', 'max:50'], 'region' => ['nullable', 'max:50'], 'country' => ['nullable', 'max:2'], 'postal_code' => ['nullable', 'max:25'], ]) ); return Redirect::route('organizations'); } public function edit(Organization $organization) { return Inertia::render('Organizations/Edit', [ 'organization' => [ 'id' => $organization->id, 'name' => $organization->name, 'email' => $organization->email, 'phone' => $organization->phone, 'address' => $organization->address, 'city' => $organization->city, 'region' => $organization->region, 'country' => $organization->country, 'postal_code' => $organization->postal_code, 'deleted_at' => $organization->deleted_at, 'contacts' => $organization->contacts()->orderByName()->get()->map->only('id', 'name', 'city', 'phone'), ], ]); } public function update(Organization $organization) { $organization->update( Request::validate([ 'name' => ['required', 'max:100'], 'email' => ['nullable', 'max:50', 'email'], 'phone' => ['nullable', 'max:50'], 'address' => ['nullable', 'max:150'], 'city' => ['nullable', 'max:50'], 'region' => ['nullable', 'max:50'], 'country' => ['nullable', 'max:2'], 'postal_code' => ['nullable', 'max:25'], ]) ); return Redirect::route('organizations.edit', $organization); } public function destroy(Organization $organization) { $organization->delete(); return Redirect::route('organizations.edit', $organization); } public function restore(Organization $organization) { $organization->restore(); return Redirect::route('organizations.edit', $organization); } }