feat(admin): preserve list return target for back and close actions
This commit is contained in:
@@ -17,6 +17,8 @@ $session = $sessionStore->all();
|
||||
|
||||
Guard::requireLogin();
|
||||
$request = requestInput();
|
||||
$returnTarget = requestResolveReturnTarget();
|
||||
$closeTarget = requestResolveReturnTarget('admin/users');
|
||||
$userAccountService = app(\MintyPHP\Service\User\UserAccountService::class);
|
||||
$userAssignmentService = app(\MintyPHP\Service\User\UserAssignmentService::class);
|
||||
$userTenantRepository = app(\MintyPHP\Repository\Tenant\UserTenantRepository::class);
|
||||
@@ -38,10 +40,11 @@ $passwordHints = $userPasswordPolicyService->hints();
|
||||
|
||||
$currentUserId = (int) ($session['user']['id'] ?? 0);
|
||||
$uuid = trim((string) ($id ?? ''));
|
||||
$editTarget = requestPathWithReturnTarget("admin/users/edit/{$uuid}", $returnTarget);
|
||||
$user = $uuid !== '' ? $userAccountService->findByUuid($uuid) : null;
|
||||
if (!$user) {
|
||||
Flash::error('User not found', 'admin/users', 'user_not_found');
|
||||
Router::redirect('admin/users');
|
||||
Flash::error('User not found', $closeTarget, 'user_not_found');
|
||||
Router::redirect($closeTarget);
|
||||
}
|
||||
|
||||
$userId = (int) ($user['id'] ?? 0);
|
||||
@@ -175,8 +178,8 @@ $canManageApiTokens = $canManageApiTokens && $canViewSecurityArtifacts;
|
||||
$showApiTokens = $canViewSecurityArtifacts && (!empty($apiTokens) || $canManageApiTokens);
|
||||
|
||||
if ($request->isMethod('POST') && !Session::checkCsrfToken()) {
|
||||
Flash::error(t('Form expired, please try again'), "admin/users/edit/{$uuid}", 'csrf_expired');
|
||||
Router::redirect("admin/users/edit/{$uuid}");
|
||||
Flash::error(t('Form expired, please try again'), $editTarget, 'csrf_expired');
|
||||
Router::redirect($editTarget);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -297,11 +300,11 @@ if ($request->hasBody('email')) {
|
||||
if (!$errorBag->hasAny()) {
|
||||
$action = (string) ($post['action'] ?? 'save');
|
||||
if ($action === 'save_close') {
|
||||
Flash::success('User updated', 'admin/users', 'user_updated');
|
||||
Router::redirect('admin/users');
|
||||
Flash::success('User updated', $closeTarget, 'user_updated');
|
||||
Router::redirect($closeTarget);
|
||||
} else {
|
||||
Flash::success('User updated', "admin/users/edit/{$uuid}", 'user_updated');
|
||||
Router::redirect("admin/users/edit/{$uuid}");
|
||||
Flash::success('User updated', $editTarget, 'user_updated');
|
||||
Router::redirect($editTarget);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user