fix: [users] 슈퍼관리자 체크박스 해제 시 값 반영 안되는 문제 수정
- 체크박스에 hidden 필드 추가 (해제 시에도 값 전송) - UserService에 is_super_admin boolean 변환 로직 추가 - is_active 체크박스도 동일하게 수정
This commit is contained in:
@@ -193,6 +193,11 @@ public function updateUser(int $id, array $data): bool
|
||||
// is_active 처리
|
||||
$data['is_active'] = isset($data['is_active']) && $data['is_active'] == '1';
|
||||
|
||||
// is_super_admin 처리 (슈퍼관리자만 수정 가능하므로 validated 데이터에 있을 때만)
|
||||
if (array_key_exists('is_super_admin', $data)) {
|
||||
$data['is_super_admin'] = $data['is_super_admin'] == '1';
|
||||
}
|
||||
|
||||
// 수정자 정보
|
||||
$data['updated_by'] = auth()->id();
|
||||
|
||||
|
||||
@@ -127,12 +127,16 @@ class="h-4 w-4 text-green-600 rounded focus:ring-2 focus:ring-green-500">
|
||||
<h2 class="text-lg font-semibold text-gray-800 mb-4 pb-2 border-b">계정 상태</h2>
|
||||
<div class="flex items-center gap-6">
|
||||
<label class="flex items-center">
|
||||
{{-- 체크박스 해제 시에도 값이 전송되도록 hidden 필드 추가 --}}
|
||||
<input type="hidden" name="is_active" value="0">
|
||||
<input type="checkbox" name="is_active" value="1" checked
|
||||
class="h-4 w-4 text-blue-600 rounded focus:ring-2 focus:ring-blue-500">
|
||||
<span class="ml-2 text-sm text-gray-700">활성 상태</span>
|
||||
</label>
|
||||
@if(auth()->user()?->is_super_admin)
|
||||
<label class="flex items-center">
|
||||
{{-- 체크박스 해제 시에도 값이 전송되도록 hidden 필드 추가 --}}
|
||||
<input type="hidden" name="is_super_admin" value="0">
|
||||
<input type="checkbox" name="is_super_admin" value="1"
|
||||
class="h-4 w-4 text-red-600 rounded focus:ring-2 focus:ring-red-500">
|
||||
<span class="ml-2 text-sm text-gray-700">슈퍼 관리자</span>
|
||||
|
||||
@@ -135,6 +135,8 @@ class="h-4 w-4 text-green-600 rounded focus:ring-2 focus:ring-green-500">
|
||||
<h2 class="text-lg font-semibold text-gray-800 mb-4 pb-2 border-b">계정 상태</h2>
|
||||
<div class="flex items-center gap-6">
|
||||
<label class="flex items-center">
|
||||
{{-- 체크박스 해제 시에도 값이 전송되도록 hidden 필드 추가 --}}
|
||||
<input type="hidden" name="is_active" value="0">
|
||||
<input type="checkbox" name="is_active" value="1"
|
||||
{{ old('is_active', $user->is_active) ? 'checked' : '' }}
|
||||
class="h-4 w-4 text-blue-600 rounded focus:ring-2 focus:ring-blue-500">
|
||||
@@ -142,6 +144,8 @@ class="h-4 w-4 text-blue-600 rounded focus:ring-2 focus:ring-blue-500">
|
||||
</label>
|
||||
@if(auth()->user()?->is_super_admin)
|
||||
<label class="flex items-center">
|
||||
{{-- 체크박스 해제 시에도 값이 전송되도록 hidden 필드 추가 --}}
|
||||
<input type="hidden" name="is_super_admin" value="0">
|
||||
<input type="checkbox" name="is_super_admin" value="1"
|
||||
{{ old('is_super_admin', $user->is_super_admin) ? 'checked' : '' }}
|
||||
class="h-4 w-4 text-red-600 rounded focus:ring-2 focus:ring-red-500">
|
||||
|
||||
Reference in New Issue
Block a user