diff --git a/src/main/java/tech/ailef/dbadmin/external/controller/DefaultDbAdminController.java b/src/main/java/tech/ailef/dbadmin/external/controller/DefaultDbAdminController.java index 2ca7dde..ce85125 100644 --- a/src/main/java/tech/ailef/dbadmin/external/controller/DefaultDbAdminController.java +++ b/src/main/java/tech/ailef/dbadmin/external/controller/DefaultDbAdminController.java @@ -284,9 +284,15 @@ public class DefaultDbAdminController { } @GetMapping("/model/{className}/edit/{id}") - public String edit(Model model, @PathVariable String className, @PathVariable String id) { + public String edit(Model model, @PathVariable String className, @PathVariable String id, RedirectAttributes attr) { DbObjectSchema schema = dbAdmin.findSchemaByClassName(className); + if (!schema.isEditEnabled()) { + attr.addFlashAttribute("errorTitle", "Unauthorized"); + attr.addFlashAttribute("error", "EDIT operations have been disabled on this type (" + schema.getJavaClass().getSimpleName() + ")."); + return "redirect:/" + properties.getBaseUrl() + "/model/" + className; + } + DbObject object = repository.findById(schema, id).orElseThrow(() -> { return new ResponseStatusException( HttpStatus.NOT_FOUND, "Object " + className + " with id " + id + " not found" diff --git a/src/main/resources/templates/fragments/data_row.html b/src/main/resources/templates/fragments/data_row.html index beac689..e934b25 100644 --- a/src/main/resources/templates/fragments/data_row.html +++ b/src/main/resources/templates/fragments/data_row.html @@ -9,7 +9,9 @@ th:classAppend="|${!schema.isDeleteEnabled() ? 'disable' : ''}|"> - +
diff --git a/src/main/resources/templates/model/list.html b/src/main/resources/templates/model/list.html index 7a82801..d8044b5 100644 --- a/src/main/resources/templates/model/list.html +++ b/src/main/resources/templates/model/list.html @@ -61,7 +61,7 @@ -

+

diff --git a/src/main/resources/templates/model/schema.html b/src/main/resources/templates/model/schema.html index 625b406..65ddb07 100644 --- a/src/main/resources/templates/model/schema.html +++ b/src/main/resources/templates/model/schema.html @@ -39,7 +39,7 @@ [[ ${schema.getTableName()} ]]

-