fix: 기본코드 등록/수정 화면 탭 안 중첩 셸 제거
- CodeKind/CodeDetail create·edit 가 view('admin/layout') 직접 사용 → 탭(iframe) 안에서 풀셸 중첩
- renderWorkPage 로 교체 + renderWorkPage 가 embed 요청이면 경로 무관하게 embed 레이아웃 사용하도록 일반화
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -56,14 +56,11 @@ class CodeDetail extends BaseController
|
|||||||
|
|
||||||
helper('admin');
|
helper('admin');
|
||||||
|
|
||||||
return view('admin/layout', [
|
return $this->renderWorkPage('세부코드 등록 — ' . $kind->ck_name, 'admin/code_detail/create', [
|
||||||
'title' => '세부코드 등록 — ' . $kind->ck_name,
|
|
||||||
'content' => view('admin/code_detail/create', [
|
|
||||||
'kind' => $kind,
|
'kind' => $kind,
|
||||||
'canPlatformScope' => $canPlatformScope,
|
'canPlatformScope' => $canPlatformScope,
|
||||||
'localGovernments' => $govs,
|
'localGovernments' => $govs,
|
||||||
'effectiveLgIdx' => admin_effective_lg_idx(),
|
'effectiveLgIdx' => admin_effective_lg_idx(),
|
||||||
]),
|
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -156,12 +153,9 @@ class CodeDetail extends BaseController
|
|||||||
|
|
||||||
$kind = $this->kindModel->find($item->cd_ck_idx);
|
$kind = $this->kindModel->find($item->cd_ck_idx);
|
||||||
|
|
||||||
return view('admin/layout', [
|
return $this->renderWorkPage('세부코드 수정 — ' . ($kind->ck_name ?? ''), 'admin/code_detail/edit', [
|
||||||
'title' => '세부코드 수정 — ' . ($kind->ck_name ?? ''),
|
|
||||||
'content' => view('admin/code_detail/edit', [
|
|
||||||
'item' => $item,
|
'item' => $item,
|
||||||
'kind' => $kind,
|
'kind' => $kind,
|
||||||
]),
|
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -34,10 +34,7 @@ class CodeKind extends BaseController
|
|||||||
return $r;
|
return $r;
|
||||||
}
|
}
|
||||||
|
|
||||||
return view('admin/layout', [
|
return $this->renderWorkPage('기본코드 종류 등록', 'admin/code_kind/create');
|
||||||
'title' => '기본코드 종류 등록',
|
|
||||||
'content' => view('admin/code_kind/create'),
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function store()
|
public function store()
|
||||||
@@ -76,10 +73,7 @@ class CodeKind extends BaseController
|
|||||||
return redirect()->to(site_url('bag/code-kinds'))->with('error', '코드 종류를 찾을 수 없습니다.');
|
return redirect()->to(site_url('bag/code-kinds'))->with('error', '코드 종류를 찾을 수 없습니다.');
|
||||||
}
|
}
|
||||||
|
|
||||||
return view('admin/layout', [
|
return $this->renderWorkPage('기본코드 종류 수정', 'admin/code_kind/edit', ['item' => $item]);
|
||||||
'title' => '기본코드 종류 수정',
|
|
||||||
'content' => view('admin/code_kind/edit', ['item' => $item]),
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function update(int $id)
|
public function update(int $id)
|
||||||
|
|||||||
@@ -74,9 +74,17 @@ abstract class BaseController extends Controller
|
|||||||
while (str_starts_with($path, 'index.php/')) {
|
while (str_starts_with($path, 'index.php/')) {
|
||||||
$path = substr($path, strlen('index.php/'));
|
$path = substr($path, strlen('index.php/'));
|
||||||
}
|
}
|
||||||
|
// 워크스페이스 탭(iframe) 안이면 경로와 무관하게 임베드 레이아웃 → 셸 중첩 방지
|
||||||
|
// (예: bag/code-kinds 탭에서 admin/code-kinds/create 등록 화면을 열 때)
|
||||||
|
if ($this->isEmbeddedRequest()) {
|
||||||
|
return view('bag/layout/embed', [
|
||||||
|
'title' => $title,
|
||||||
|
'content' => $content,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
if ($path === 'bag' || str_starts_with($path, 'bag/')) {
|
if ($path === 'bag' || str_starts_with($path, 'bag/')) {
|
||||||
// /workspace 탭(iframe) 안에서는 임베드 레이아웃, 아니면 gov-portal 셸
|
return view('bag/layout/portal', [
|
||||||
return view($this->isEmbeddedRequest() ? 'bag/layout/embed' : 'bag/layout/portal', [
|
|
||||||
'title' => $title,
|
'title' => $title,
|
||||||
'content' => $content,
|
'content' => $content,
|
||||||
]);
|
]);
|
||||||
|
|||||||
Reference in New Issue
Block a user