feat(admin): preserve list return target for back and close actions
This commit is contained in:
@@ -11,6 +11,9 @@ use MintyPHP\Support\Guard;
|
||||
$session = app(SessionStoreInterface::class)->all();
|
||||
Guard::requireLogin();
|
||||
$request = requestInput();
|
||||
$returnTarget = requestResolveReturnTarget();
|
||||
$closeTarget = requestResolveReturnTarget('admin/tenants');
|
||||
$createTarget = requestPathWithReturnTarget('admin/tenants/create', $returnTarget);
|
||||
|
||||
$currentUserId = (int) ($session['user']['id'] ?? 0);
|
||||
$authorizationService = app(\MintyPHP\Service\Access\AuthorizationService::class);
|
||||
@@ -54,8 +57,8 @@ $form = [
|
||||
$ssoUiState = $canManageSso ? $tenantSsoService->buildMicrosoftUiState(0, $form) : [];
|
||||
|
||||
if ($request->isMethod('POST') && !Session::checkCsrfToken()) {
|
||||
Flash::error(t('Form expired, please try again'), 'admin/tenants/create', 'csrf_expired');
|
||||
Router::redirect('admin/tenants/create');
|
||||
Flash::error(t('Form expired, please try again'), $createTarget, 'csrf_expired');
|
||||
Router::redirect($createTarget);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -105,7 +108,7 @@ if ($request->hasBody('description')) {
|
||||
if (!($ssoSaveResult['ok'] ?? false)) {
|
||||
Flash::error(
|
||||
(string) (($ssoSaveResult['errors'][0] ?? t('Tenant SSO settings could not be saved'))),
|
||||
'admin/tenants',
|
||||
$closeTarget,
|
||||
'tenant_sso_create_failed'
|
||||
);
|
||||
}
|
||||
@@ -113,17 +116,17 @@ if ($request->hasBody('description')) {
|
||||
}
|
||||
$action = (string) ($post['action'] ?? 'create');
|
||||
if ($action === 'create_close') {
|
||||
Flash::success('Tenant created', 'admin/tenants', 'tenant_created');
|
||||
Router::redirect('admin/tenants');
|
||||
Flash::success('Tenant created', $closeTarget, 'tenant_created');
|
||||
Router::redirect($closeTarget);
|
||||
} else {
|
||||
$uuid = (string) ($result['uuid'] ?? '');
|
||||
if ($uuid !== '') {
|
||||
$target = "admin/tenants/edit/{$uuid}";
|
||||
$target = requestPathWithReturnTarget("admin/tenants/edit/{$uuid}", $returnTarget);
|
||||
Flash::success('Tenant created', $target, 'tenant_created');
|
||||
Router::redirect($target);
|
||||
} else {
|
||||
Flash::success('Tenant created', 'admin/tenants', 'tenant_created');
|
||||
Router::redirect('admin/tenants');
|
||||
Flash::success('Tenant created', $closeTarget, 'tenant_created');
|
||||
Router::redirect($closeTarget);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user