fix #424: use dropdowns for VPD policy form

This commit is contained in:
devmrko
2026-06-25 17:03:44 +09:00
parent 1bcb6b6a43
commit 9a546b7997
9 changed files with 190 additions and 15 deletions

View File

@@ -29,11 +29,13 @@ public class VpdPolicyController {
try {
model.addAttribute("policies", vpdPolicyService.findPolicies());
model.addAttribute("objects", protectedObjectService.findEnabled());
model.addAttribute("formOptions", vpdPolicyService.formOptions());
} catch (DataAccessException exception) {
RuntimeErrorMessage message = RuntimeErrorMessages.dataAccess(exception);
model.addAttribute("runtimeError", message);
model.addAttribute("policies", List.of());
model.addAttribute("objects", List.of());
model.addAttribute("formOptions", vpdPolicyService.emptyFormOptions());
}
return "vpd-policies";
}
@@ -42,9 +44,10 @@ public class VpdPolicyController {
public String createPolicy(
@RequestParam String objectKey,
@RequestParam String policyName,
@RequestParam(required = false) String functionKey,
@RequestParam(required = false) String functionOwner,
@RequestParam(required = false) String functionName,
@RequestParam(defaultValue = "SELECT") String statementTypes,
@RequestParam(defaultValue = "SELECT") List<String> statementTypes,
@RequestParam(defaultValue = "false") boolean enabled,
@RequestParam(defaultValue = "false") boolean updateCheck,
@RequestParam(required = false) String filterPredicate,
@@ -59,9 +62,10 @@ public class VpdPolicyController {
objectParts[0],
objectParts[1],
policyName,
functionKey,
functionOwner,
functionName,
statementTypes,
String.join(",", statementTypes),
enabled,
updateCheck,
filterPredicate