converted permission edit to dialog based
and simplified implemenation
This commit is contained in:
@ -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<ApplicationPermissionEntity> getAppPermissions() {
|
||||
return applicationPermissionService.getApplicationPermissions();
|
||||
}
|
||||
|
||||
public void savePermission() {
|
||||
public void saveEditPermission() throws AccountException {
|
||||
if (currentPermission != null) {
|
||||
String newPermissionName = currentPermission.getPermissionName();
|
||||
String newPermissionDescription = currentPermission.getPermissionDescription();
|
||||
if ((newPermissionName == null) || (newPermissionName.trim().length() == 0)) {
|
||||
FacesUtil.addGlobalErrorMessage("Error", "Permission name must not be null");
|
||||
FacesUtil.addErrorMessage("editDialogMessages", "Error", "Permission name must not be null");
|
||||
} else if ((newPermissionDescription == null) || (newPermissionDescription.trim().length() == 0)) {
|
||||
FacesUtil.addGlobalErrorMessage("Error", "Permission name must not be null");
|
||||
FacesUtil.addErrorMessage("editDialogMessages", "Error", "Permission name must not be null");
|
||||
} else {
|
||||
applicationPermissionService.createOrUpdate(newPermissionName, newPermissionDescription);
|
||||
FacesUtil.addGlobalInfoMessage("Pemissin updated", "Permission "+newPermissionName+" updated");
|
||||
newPermissionName = null;
|
||||
newPermissionDescription = null;
|
||||
deselectPermission();
|
||||
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;
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
@ -14,45 +14,16 @@
|
||||
</ui:define>
|
||||
|
||||
<ui:define name="description">
|
||||
Edit permissions
|
||||
for #{applicationView.currentApplication.applicationName}
|
||||
</ui:define>
|
||||
|
||||
<ui:define name="body">
|
||||
<h:form id="permissionForm">
|
||||
<p:panel styleClass="card no-border">
|
||||
<div class="ui-g ui-fluid">
|
||||
<div class="ui-g-12 ui-md-3">
|
||||
<div class="ui-inputgroup">
|
||||
<span class="ui-inputgroup-addon"><i style="font-size: 20px" class="fa fa-edit"></i></span>
|
||||
<p:inputText id="newName" value="#{permissionView.newPermissionName}" maxlength="80" size="30" placeholder="#{msgs.label_name}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui-g-12 ui-md-3">
|
||||
<div class="ui-inputgroup">
|
||||
<span class="ui-inputgroup-addon"><i style="font-size: 20px" class="fa fa-edit"></i></span>
|
||||
<p:inputText id="newDescription" value="#{permissionView.newPermissionDescription}" maxlength="200" size="30" placeholder="#{msgs.label_description}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui-g-12 ui-md-2">
|
||||
<p:commandButton icon="fa fa-fw fa-save" value="#{msgs.button_save}" action="#{permissionView.savePermission}"
|
||||
update="permissionForm" styleClass="btn-primary btn-block" />
|
||||
</div>
|
||||
<div class="ui-g-12 ui-md-2">
|
||||
<p:commandButton id="editPermissionButton" icon="fa fa-fw fa-pencil" value="#{msgs.button_edit}" action="#{permissionView.editPermission}"
|
||||
update="permissionForm" styleClass="btn-teal btn-block" disabled="#{!permissionView.canEdit}" />
|
||||
</div>
|
||||
<div class="ui-g-12 ui-md-2">
|
||||
<p:commandButton id="deletePermissionButton" icon="fa fa-fw fa-trash-o" value="#{msgs.button_delete}" action="#{permissionView.deletePermission}"
|
||||
update="permissionForm" styleClass="btn-danger btn-block" disabled="#{!permissionView.canDelete}">
|
||||
<p:confirm header="Confirmation" message="Are you sure?" icon="fa fa-fw fa-exclamation-triangle" />
|
||||
</p:commandButton>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p:dataTable id="permissionTable" value="#{permissionView.appPermissions}" var="permission" rowKey="#{permission.id}"
|
||||
selectionMode="single" selection="#{permissionView.currentPermission}" styleClass="box-primary">
|
||||
<p:ajax event="rowSelect" update=":permissionForm" listener="#{permissionView.selectPermission}" />
|
||||
<p:ajax event="rowUnselect" update=":permissionForm" listener="#{permissionView.deselectPermission}" />
|
||||
<p:ajax event="rowSelect" update=":permissionForm:permissionTable:editPermissionButton,:permissionForm:permissionTable:deletePermissionButton" />
|
||||
<p:ajax event="rowUnselect" update=":permissionForm:permissionTable:editPermissionButton,:permissionForm:permissionTable:deletePermissionButton" />
|
||||
|
||||
<p:column headerText="Permission name">
|
||||
<h:outputText value="#{permission.permissionName}" />
|
||||
@ -60,13 +31,74 @@
|
||||
<p:column headerText="Permission description">
|
||||
<h:outputText value="#{permission.permissionDescription}" />
|
||||
</p:column>
|
||||
|
||||
<f:facet name="footer">
|
||||
<div class="ui-g-12 ui-md-2">
|
||||
<p:commandButton id="newPermissionButton" icon="fa fa-plus" value="#{msgs.button_new}" action="#{permissionView.newPermission}"
|
||||
oncomplete="PF('editDialogVar').show();" update="editDialog" styleClass="btn-primary btn-block" />
|
||||
</div>
|
||||
<div class="ui-g-12 ui-md-2">
|
||||
<p:commandButton id="editPermissionButton" icon="fa fa-pencil" value="#{msgs.button_edit}" action="#{permissionView.editPermission}"
|
||||
oncomplete="PF('editDialogVar').show();" update="editDialog" styleClass="btn-teal btn-block" disabled="#{!permissionView.canEdit}" />
|
||||
</div>
|
||||
<div class="ui-g-12 ui-md-2">
|
||||
<p:commandButton id="deletePermissionButton" icon="fa fa-trash-o" value="#{msgs.button_delete}" actionListener="#{permissionView.deletePermission}"
|
||||
update="permissionForm" styleClass="btn-danger btn-block" disabled="#{!permissionView.canDelete}">
|
||||
<p:confirm header="Confirmation" message="Are you sure?" icon="fa fa-fw fa-exclamation-triangle" />
|
||||
</p:commandButton>
|
||||
</div>
|
||||
</f:facet>
|
||||
</p:dataTable>
|
||||
|
||||
<composite:confirmationDialog />
|
||||
</p:panel>
|
||||
|
||||
</h:form>
|
||||
|
||||
|
||||
<p:dialog id="editDialog" widgetVar="editDialogVar" header="Edit permission" width="600"
|
||||
modal="true" appendTo="@(body)" showEffect="fade" hideEffect="fade" styleClass="box-solid box-primary" >
|
||||
<h:form id="editDialogForm">
|
||||
<p:messages id="editDialogMessages" showDetail="true" showIcon="true" showSummary="true">
|
||||
<p:autoUpdate />
|
||||
</p:messages>
|
||||
|
||||
<div class="ui-g ui-fluid">
|
||||
<div class="ui-g-12 ui-md-3">
|
||||
<div class="ui-inputgroup">
|
||||
<span class="ui-inputgroup-addon"><i style="font-size: 20px" class="fa fa-edit"></i></span>
|
||||
<p:inputText id="newName" value="#{permissionView.currentPermission.permissionName}" maxlength="80" size="30" placeholder="#{msgs.label_name}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-9">
|
||||
<p:message for="newName"><p:autoUpdate /></p:message>
|
||||
</div>
|
||||
|
||||
<div class="ui-g-12 ui-md-3">
|
||||
<div class="ui-inputgroup">
|
||||
<span class="ui-inputgroup-addon"><i style="font-size: 20px" class="fa fa-edit"></i></span>
|
||||
<p:inputText id="newDescription" value="#{permissionView.currentPermission.permissionDescription}" maxlength="200" size="30" placeholder="#{msgs.label_description}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-9">
|
||||
<p:message for="newDescription"><p:autoUpdate /></p:message>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-12 col-md-6">
|
||||
<p:spacer height="10px" />
|
||||
<p:commandButton value="Save" action="#{permissionView.saveEditPermission}" styleClass="btn-primary btn-block"
|
||||
oncomplete="if (args && !args.validationFailed) PF('editDialogVar').hide();" update=":permissionForm:permissionTable" />
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-6">
|
||||
<p:spacer height="10px" />
|
||||
<p:commandButton value="Cancel" action="#{permissionView.cancelEditPermission}" immediate="true" styleClass="btn-teal btn-block"
|
||||
oncomplete="PF('editDialogVar').hide();" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</h:form>
|
||||
</p:dialog>
|
||||
|
||||
|
||||
|
||||
</ui:define>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user