fix #477: show target policy filters
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
<!doctype html>
|
||||
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
||||
<body>
|
||||
<div th:fragment="detail">
|
||||
<div class="alert alert-warning mb-0" th:if="${errorMessage}" th:text="${errorMessage}"></div>
|
||||
<section class="probe-exchange" th:if="${detail}">
|
||||
<h3>
|
||||
<span th:text="${detail.objectDisplayName()}">ADMIN.TABLE</span>
|
||||
<span class="text-muted"> / Policy Filter</span>
|
||||
</h3>
|
||||
<div th:if="${#lists.isEmpty(detail.rows())}" class="text-muted">
|
||||
이 TABLE/VIEW에 적용된 VPD policy/filter가 없습니다.
|
||||
</div>
|
||||
<div class="filter-detail-stack" th:each="row : ${detail.rows()}">
|
||||
<dl class="policy-detail-list">
|
||||
<dt>Policy</dt>
|
||||
<dd><code th:text="${row.policy().policyName()}">POLICY</code></dd>
|
||||
<dt>Filter</dt>
|
||||
<dd><code th:text="${row.policy().functionDisplayName()}">ADMIN.FILTER</code></dd>
|
||||
<dt>Statements</dt>
|
||||
<dd th:text="${row.policy().statementTypes()} ?: '-'">SELECT</dd>
|
||||
<dt>Status</dt>
|
||||
<dd th:text="${row.policy().enabled()}">YES</dd>
|
||||
</dl>
|
||||
<pre th:if="${row.source().found()}" th:text="${row.source().source()}"></pre>
|
||||
<pre th:unless="${row.source().found()}">ALL_SOURCE에서 조회 가능한 filter source가 없습니다.</pre>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -54,12 +54,14 @@
|
||||
<th>Type</th>
|
||||
<th>VPD 상태</th>
|
||||
<th>Policy</th>
|
||||
<th>Filter</th>
|
||||
<th>백오피스 권한 테이블</th>
|
||||
<th>ORDS Path</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr th:each="target : ${vpdTargets}">
|
||||
<th:block th:each="target, iter : ${vpdTargets}">
|
||||
<tr>
|
||||
<td><code th:text="${target.objectDisplayName()}">ADMIN.TABLE</code></td>
|
||||
<td th:text="${target.objectType()}">TABLE</td>
|
||||
<td>
|
||||
@@ -71,6 +73,17 @@
|
||||
<span th:if="${target.vpdApplied()}" th:text="${target.policyNames()}">POLICY</span>
|
||||
<span th:unless="${target.vpdApplied()}" class="text-muted">-</span>
|
||||
</td>
|
||||
<td>
|
||||
<button th:if="${target.vpdApplied()}"
|
||||
class="btn btn-sm btn-outline-secondary policy-function-button"
|
||||
type="button"
|
||||
th:hx-get="@{/vpd-policies/object-filter-detail(objectOwner=${target.owner()},objectName=${target.objectName()})}"
|
||||
th:hx-target="${'#target-filter-detail-' + iter.index}"
|
||||
hx-swap="innerHTML">
|
||||
<code th:text="${target.filterNames()}">ADMIN.FILTER</code>
|
||||
</button>
|
||||
<span th:unless="${target.vpdApplied()}" class="text-muted">-</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="badge"
|
||||
th:classappend="${target.protectedObject()} ? ' text-bg-primary' : ' text-bg-light'"
|
||||
@@ -81,8 +94,16 @@
|
||||
<span th:unless="${target.ordsPath()}" class="text-muted">ORDS 서빙 미등록</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr th:if="${target.vpdApplied()}">
|
||||
<td colspan="7" class="policy-source-cell">
|
||||
<div th:id="${'target-filter-detail-' + iter.index}" class="text-muted small">
|
||||
Filter 이름을 클릭하면 policy/filter source가 표시됩니다.
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</th:block>
|
||||
<tr th:if="${#lists.isEmpty(vpdTargets)}">
|
||||
<td colspan="6" class="text-muted">
|
||||
<td colspan="7" class="text-muted">
|
||||
<span th:if="${selectedSchemaOwner != null && selectedSchemaOwner != ''}"
|
||||
th:text="${selectedSchemaOwner + ' 스키마에서 현재 DB 연결 사용자로 조회 가능한 TABLE/VIEW가 없습니다. 스키마명, ALL_OBJECTS 조회 권한, 객체 권한을 확인하세요.'}">
|
||||
선택한 스키마에서 조회 가능한 TABLE/VIEW가 없습니다.
|
||||
|
||||
Reference in New Issue
Block a user