From 634b51b051b6114a443ad590b1ae7181988621b4 Mon Sep 17 00:00:00 2001 From: Joern Muehlencord Date: Sat, 10 Nov 2018 16:49:05 +0100 Subject: [PATCH] converted permission edit to dialog based and simplified implemenation --- .../web/presentation/PermissionView.java | 105 +++++++----------- account-ui/src/main/webapp/WEB-INF/shiro.ini | 2 - .../src/main/webapp/web/permissions.xhtml | 104 +++++++++++------ 3 files changed, 107 insertions(+), 104 deletions(-) diff --git a/account-ui/src/main/java/de/muehlencord/shared/account/web/presentation/PermissionView.java b/account-ui/src/main/java/de/muehlencord/shared/account/web/presentation/PermissionView.java index 6d54332..ddb9234 100644 --- a/account-ui/src/main/java/de/muehlencord/shared/account/web/presentation/PermissionView.java +++ b/account-ui/src/main/java/de/muehlencord/shared/account/web/presentation/PermissionView.java @@ -24,7 +24,6 @@ import java.util.List; import javax.ejb.EJB; import javax.enterprise.context.SessionScoped; import javax.inject.Named; -import javax.validation.constraints.Size; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -41,42 +40,45 @@ public class PermissionView implements Serializable { @EJB ApplicationPermissionControl applicationPermissionService; - - @Size(max = 80) - private String newPermissionName; - - @Size(max = 200) - private String newPermissionDescription; - private ApplicationPermissionEntity currentPermission; - // flag if a permission is selected - used to control button state - private boolean permissionSelected; - public List getAppPermissions() { return applicationPermissionService.getApplicationPermissions(); } - public void savePermission() { - if ((newPermissionName == null) || (newPermissionName.trim().length() == 0)) { - FacesUtil.addGlobalErrorMessage("Error", "Permission name must not be null"); - } else if ((newPermissionDescription == null) || (newPermissionDescription.trim().length() == 0)) { - FacesUtil.addGlobalErrorMessage("Error", "Permission name must not be null"); - } else { - applicationPermissionService.createOrUpdate(newPermissionName, newPermissionDescription); - FacesUtil.addGlobalInfoMessage("Pemissin updated", "Permission "+newPermissionName+" updated"); - newPermissionName = null; - newPermissionDescription = null; - deselectPermission(); + public void saveEditPermission() throws AccountException { + if (currentPermission != null) { + String newPermissionName = currentPermission.getPermissionName(); + String newPermissionDescription = currentPermission.getPermissionDescription(); + if ((newPermissionName == null) || (newPermissionName.trim().length() == 0)) { + FacesUtil.addErrorMessage("editDialogMessages", "Error", "Permission name must not be null"); + } else if ((newPermissionDescription == null) || (newPermissionDescription.trim().length() == 0)) { + FacesUtil.addErrorMessage("editDialogMessages", "Error", "Permission name must not be null"); + } else { + if (currentPermission.getId() == null) { + applicationPermissionService.create(newPermissionName, newPermissionName); + FacesUtil.addGlobalInfoMessage("Info", "Permission " + newPermissionName + " created"); +// deselectPermission(); + } else { + applicationPermissionService.update(currentPermission); + FacesUtil.addGlobalInfoMessage("Info", "Permission " + newPermissionName + " updated"); +// deselectPermission(); + } + } } } + public void cancelEditPermission() { + this.currentPermission = null; + } + + public void newPermission() { + this.currentPermission = new ApplicationPermissionEntity(); + } + public void editPermission() { if (currentPermission == null) { FacesUtil.addGlobalErrorMessage("Error", "Please select a permission to edit"); - } else { - newPermissionName = currentPermission.getPermissionName(); - newPermissionDescription = currentPermission.getPermissionDescription(); } } @@ -98,16 +100,13 @@ public class PermissionView implements Serializable { } } - public void selectPermission() { - this.permissionSelected = true; - } - - public void deselectPermission() { - this.permissionSelected = false; - this.newPermissionName = null; - this.newPermissionDescription = null; - } - +// public void selectPermission() { +// this.permissionSelected = true; +// } +// +// public void deselectPermission() { +// this.permissionSelected = false; +// } public boolean getCanEdit() { if (!isPermissionSelected()) { @@ -117,13 +116,7 @@ public class PermissionView implements Serializable { } public boolean getCanDelete() { - if (!isPermissionSelected()) { - return false; - } - if (newPermissionName == null) { - return true; - } - return false; + return isPermissionSelected(); } /* *** getter / setter *** */ @@ -132,36 +125,16 @@ public class PermissionView implements Serializable { } public void setCurrentPermission(ApplicationPermissionEntity newCurrentPermission) { - if ((currentPermission == null) || (newCurrentPermission == null) || (!currentPermission.equals(newCurrentPermission))) { - this.newPermissionName = null; - this.newPermissionDescription = null; - } this.currentPermission = newCurrentPermission; } - public String getNewPermissionName() { - return newPermissionName; - } - - public void setNewPermissionName(String newPermissionName) { - this.newPermissionName = newPermissionName; - } - - public String getNewPermissionDescription() { - return newPermissionDescription; - } - - public void setNewPermissionDescription(String newPermissionDescription) { - this.newPermissionDescription = newPermissionDescription; - } - public boolean isPermissionSelected() { - return permissionSelected; + return currentPermission != null; } - public void setPermissionSelected(boolean permissionSelected) { - this.permissionSelected = permissionSelected; - } +// public void setPermissionSelected(boolean permissionSelected) { +// this.permissionSelected = permissionSelected; +// } } diff --git a/account-ui/src/main/webapp/WEB-INF/shiro.ini b/account-ui/src/main/webapp/WEB-INF/shiro.ini index 79e678d..bcd323b 100644 --- a/account-ui/src/main/webapp/WEB-INF/shiro.ini +++ b/account-ui/src/main/webapp/WEB-INF/shiro.ini @@ -50,8 +50,6 @@ roles.unauthorizedUrl = /error/accessDenied.xhtml /resources/**=anon /fonts/**=anon /javax.faces.resource/**=anon -/=anon -/index.html=anon /login.xhtml=authc /logout.xhtml=logout /web/**=authc diff --git a/account-ui/src/main/webapp/web/permissions.xhtml b/account-ui/src/main/webapp/web/permissions.xhtml index 1f0327f..271c1b7 100644 --- a/account-ui/src/main/webapp/web/permissions.xhtml +++ b/account-ui/src/main/webapp/web/permissions.xhtml @@ -14,59 +14,91 @@ - Edit permissions + for #{applicationView.currentApplication.applicationName} - -
-
-
- - -
-
-
-
- - -
+ + + + + + + + + + + + + +
+
- +
- -
-
-
-
+ + - - - + - - - - - - - - - - + + + + + + +
+
+
+ + +
+
+
+ +
+ +
+
+ + +
+
+
+ +
+ +
+ + +
+
+ + +
+ +
+
+
+ +