Files
jongryangje/app/Controllers/Admin/SelectLocalGovernment.php
taekyoungc 24ac3f169e feat: 지자체 전환 현재 선택 표시 + 전화주문 결제구분 기본 가상계좌
- 지자체 전환 화면에서 현재 작업 지자체 라디오 체크 + '현재 선택' 배지
- 전화 주문 접수 결제구분 기본값을 가상계좌로 설정

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 16:56:49 +09:00

62 lines
2.0 KiB
PHP

<?php
namespace App\Controllers\Admin;
use App\Controllers\BaseController;
use App\Models\LocalGovernmentModel;
use Config\Roles;
class SelectLocalGovernment extends BaseController
{
/**
* 지자체 선택 화면 (super·본부 관리자)
*/
public function index()
{
if (! Roles::isSuperAdminEquivalent((int) session()->get('mb_level'))) {
return redirect()->to(site_url('admin'))->with('error', '지자체 선택은 상위 관리자만 사용할 수 있습니다.');
}
$list = model(LocalGovernmentModel::class)
->where('lg_state', 1)
->orderBy('lg_name', 'ASC')
->findAll();
$currentLgIdx = (int) (session()->get('admin_selected_lg_idx') ?? 0);
return view('admin/layout', [
'title' => '지자체 선택',
'content' => view('admin/select_local_government/index', [
'list' => $list,
'currentLgIdx' => $currentLgIdx,
]),
]);
}
/**
* 선택 처리: admin_selected_lg_idx 저장 후 관리자 대시보드로 이동
*/
public function store()
{
if (! Roles::isSuperAdminEquivalent((int) session()->get('mb_level'))) {
return redirect()->to(site_url('admin'))->with('error', '지자체 선택은 상위 관리자만 사용할 수 있습니다.');
}
$lgIdx = (int) $this->request->getPost('lg_idx');
if ($lgIdx <= 0) {
return redirect()->back()
->with('error', '지자체를 선택해 주세요.');
}
$exists = model(LocalGovernmentModel::class)->find($lgIdx);
if ($exists === null) {
return redirect()->back()
->with('error', '선택한 지자체를 찾을 수 없습니다.');
}
session()->set('admin_selected_lg_idx', $lgIdx);
return redirect()->to(site_url('admin'))->with('success', $exists->lg_name . ' 지자체로 전환되었습니다.');
}
}