authorize('update', $page); $page->load('weeztixConfig'); return view('admin.weeztix.edit', compact('page')); } public function update(UpdateWeeztixConfigRequest $request, PreregistrationPage $page): RedirectResponse { $validated = $request->validated(); foreach (['client_id', 'client_secret'] as $key) { if (array_key_exists($key, $validated) && $validated[$key] === '' && $page->weeztixConfig !== null) { unset($validated[$key]); } } $validated['redirect_uri'] = route('admin.weeztix.callback', absolute: true); DB::transaction(function () use ($page, $validated): void { $page->weeztixConfig()->updateOrCreate( ['preregistration_page_id' => $page->id], array_merge($validated, ['preregistration_page_id' => $page->id]) ); }); return redirect() ->route('admin.pages.weeztix.edit', $page) ->with('status', __('Weeztix-configuratie opgeslagen.')); } public function destroy(PreregistrationPage $page): RedirectResponse { $this->authorize('update', $page); $page->weeztixConfig()?->delete(); return redirect() ->route('admin.pages.weeztix.edit', $page) ->with('status', __('Weeztix-integratie verwijderd.')); } }