Initial project import for team collaboration.

Exclude local docs, MCP, and secrets via gitignore.

Made-with: Cursor
This commit is contained in:
taekyoungc
2026-03-25 12:05:33 +09:00
commit 4e557d4be1
153 changed files with 16198 additions and 0 deletions

View File

@@ -0,0 +1,66 @@
<section class="border-b border-gray-300 p-2 shrink-0 bg-control-panel">
<span class="text-sm font-bold text-gray-700">권한 승인 대기</span>
</section>
<div class="border border-gray-300 p-4 mt-2">
<form method="get" action="<?= base_url('admin/access/approvals') ?>" class="mb-4 flex flex-wrap items-center gap-2 text-sm">
<label for="status" class="font-bold text-gray-700 shrink-0">상태</label>
<select id="status" name="status" class="border border-gray-300 rounded px-3 py-1.5 text-sm min-w-[12rem] w-48 max-w-full">
<option value="pending" <?= ($status ?? 'pending') === 'pending' ? 'selected' : '' ?>>승인 대기</option>
<option value="approved" <?= ($status ?? '') === 'approved' ? 'selected' : '' ?>>승인 완료</option>
<option value="rejected" <?= ($status ?? '') === 'rejected' ? 'selected' : '' ?>>반려</option>
</select>
<button type="submit" class="bg-btn-search text-white px-3 py-1 rounded-sm text-xs">조회</button>
</form>
<table class="w-full data-table">
<thead>
<tr>
<th>요청일</th>
<th>아이디</th>
<th>이름</th>
<th>지자체</th>
<th>요청 역할</th>
<th>상태</th>
<th>처리일</th>
<th>관리</th>
</tr>
</thead>
<tbody>
<?php if (empty($list)): ?>
<tr><td colspan="8" class="text-center text-gray-500 py-4">해당 상태의 요청이 없습니다.</td></tr>
<?php else: ?>
<?php foreach ($list as $row): ?>
<tr>
<td class="text-center"><?= esc($row->mar_requested_at ?? '-') ?></td>
<td class="text-center"><?= esc($row->mb_id ?? '-') ?></td>
<td class="text-center"><?= esc($row->mb_name ?? '-') ?></td>
<td class="text-center"><?= esc($row->lg_name ?? '-') ?></td>
<td class="text-center"><?= esc($roles->getLevelName((int) $row->mar_requested_level)) ?></td>
<td class="text-center">
<?php if (($row->mar_status ?? '') === 'pending'): ?>승인 대기<?php endif; ?>
<?php if (($row->mar_status ?? '') === 'approved'): ?>승인 완료<?php endif; ?>
<?php if (($row->mar_status ?? '') === 'rejected'): ?>반려<?php endif; ?>
</td>
<td class="text-center"><?= esc($row->mar_processed_at ?? '-') ?></td>
<td class="text-center">
<?php if (($row->mar_status ?? '') === 'pending'): ?>
<div class="flex items-center justify-center gap-1">
<form action="<?= base_url('admin/access/approve/' . $row->mar_idx) ?>" method="post" class="inline">
<?= csrf_field() ?>
<button type="submit" class="bg-green-600 text-white px-2 py-1 text-xs rounded">승인</button>
</form>
<form action="<?= base_url('admin/access/reject/' . $row->mar_idx) ?>" method="post" class="inline flex items-center gap-1">
<?= csrf_field() ?>
<input type="text" name="reject_reason" placeholder="반려사유(선택)" class="border border-gray-300 rounded px-2 py-1 text-xs w-28"/>
<button type="submit" class="bg-red-600 text-white px-2 py-1 text-xs rounded">반려</button>
</form>
</div>
<?php else: ?>
<span class="text-gray-500">처리완료</span>
<?php endif; ?>
</td>
</tr>
<?php endforeach; ?>
<?php endif; ?>
</tbody>
</table>
</div>