deploy: 2026-03-11 배포

- feat: MNG→SAM 자동 로그인 토큰 (LoginToken 모델 도메인 매핑)
- feat: 사용자/역할/부서 관리 개선 (Controller, Service, View)
- feat: 메뉴 관리 개선 (MenuService, menu-tree.js)
- fix: 문서 뷰어, FCM 토큰, 방화셔터 도면, 테넌트 테이블 뷰 수정
This commit is contained in:
2026-03-11 02:12:51 +09:00
parent d068a8e55c
commit dfe97308f3
21 changed files with 961 additions and 352 deletions

View File

@@ -455,7 +455,7 @@ public function forceDeleteMenu(int $id): array
}
/**
* 메뉴 활성 상태 토글
* 메뉴 활성 상태 토글 (하위 메뉴 포함)
*/
public function toggleActive(int $id): bool
{
@@ -464,10 +464,34 @@ public function toggleActive(int $id): bool
return false;
}
$menu->is_active = ! $menu->is_active;
$newState = ! $menu->is_active;
$menu->is_active = $newState;
$menu->updated_by = auth()->id();
$menu->save();
return $menu->save();
// 하위 메뉴도 동일한 상태로 변경
$this->setChildrenActiveState($menu, $newState);
return true;
}
/**
* 하위 메뉴의 활성 상태를 재귀적으로 변경
*/
private function setChildrenActiveState($menu, bool $isActive): void
{
$children = $menu->children()->get();
if ($children->isEmpty()) {
return;
}
$userId = auth()->id();
foreach ($children as $child) {
$child->is_active = $isActive;
$child->updated_by = $userId;
$child->save();
$this->setChildrenActiveState($child, $isActive);
}
}
/**