diff --git a/bwreg-webapp/src/main/java/edu/kit/scc/webreg/bean/admin/saml/EditSamlServiceSpBean.java b/bwreg-webapp/src/main/java/edu/kit/scc/webreg/bean/admin/saml/EditSamlServiceSpBean.java index 1ebe49488d26d6663ba1ca2b90d3a0e532ef41da..ea56e80309466494632d2844bb8ed4a53342f4f3 100644 --- a/bwreg-webapp/src/main/java/edu/kit/scc/webreg/bean/admin/saml/EditSamlServiceSpBean.java +++ b/bwreg-webapp/src/main/java/edu/kit/scc/webreg/bean/admin/saml/EditSamlServiceSpBean.java @@ -57,16 +57,21 @@ public class EditSamlServiceSpBean implements Serializable { public String save() { entity = service.save(entity); - return "list-idp-configs.xhtml"; + return "list-idp-configs.xhtml?faces-redirect=true"; } public String cancel() { - return "list-idp-configs.xhtml"; + return "list-idp-configs.xhtml?faces-redirect=true"; } public ServiceSamlSpEntity getEntity() { if (entity == null) { - entity = service.findById(id); + if (getId() == null) { + entity = service.createNew(); + } + else { + entity = service.findById(id); + } } return entity; } diff --git a/bwreg-webapp/src/main/java/edu/kit/scc/webreg/bean/admin/saml/ListIdpConfigurationBean.java b/bwreg-webapp/src/main/java/edu/kit/scc/webreg/bean/admin/saml/ListIdpConfigurationBean.java index c4679e2a5a8962de41b233a3d3e2d60d63a760fa..5e65bcd925fb051c4749a4fdd994925884f05044 100644 --- a/bwreg-webapp/src/main/java/edu/kit/scc/webreg/bean/admin/saml/ListIdpConfigurationBean.java +++ b/bwreg-webapp/src/main/java/edu/kit/scc/webreg/bean/admin/saml/ListIdpConfigurationBean.java @@ -51,4 +51,8 @@ public class ListIdpConfigurationBean implements Serializable { return serviceSpList; } + public void delete(ServiceSamlSpEntity serviceSamlSpEntity) { + serviceSamlSpService.delete(serviceSamlSpEntity); + serviceSpList = null; + } } diff --git a/bwreg-webapp/src/main/webapp/admin/saml/list-idp-configs.xhtml b/bwreg-webapp/src/main/webapp/admin/saml/list-idp-configs.xhtml index 66b6890487d649299a24d70c863ba1829d1b4252..9f5c78e43dc798a2ef50dadc4eba0b0039b7cab5 100644 --- a/bwreg-webapp/src/main/webapp/admin/saml/list-idp-configs.xhtml +++ b/bwreg-webapp/src/main/webapp/admin/saml/list-idp-configs.xhtml @@ -17,55 +17,75 @@ <ui:define name="content"> <h:form id="form"> + <p:panel header="#{messages.saml_idp_configuration}"> + <p:dataTable id="idpDataTable" var="entity" value="#{listIdpConfigurationBean.idpList}"> + <p:column> + <f:facet name="header"> + <h:outputText value="#{messages.id}" /> + </f:facet> + <h:outputText value="#{entity.id}" /> + </p:column> + <p:column> + <f:facet name="header"> + <h:outputText value="#{messages.entity_id}" /> + </f:facet> + <h:link outcome="show-idp-config.xhtml" value="#{entity.entityId}"> + <f:param name="id" value="#{entity.id}"/> + </h:link> + </p:column> + </p:dataTable> + + <h:link outcome="add-idp-config.xhtml" value="#{messages.add_idp_config}"/> + </p:panel> - <p:dataTable id="idpDataTable" var="entity" value="#{listIdpConfigurationBean.idpList}"> - <p:column> - <f:facet name="header"> - <h:outputText value="#{messages.id}" /> - </f:facet> - <h:outputText value="#{entity.id}" /> - </p:column> - <p:column> - <f:facet name="header"> - <h:outputText value="#{messages.entity_id}" /> - </f:facet> - <h:link outcome="show-idp-config.xhtml" value="#{entity.entityId}"> - <f:param name="id" value="#{entity.id}"/> - </h:link> - </p:column> - </p:dataTable> - - <h:link outcome="add-idp-config.xhtml" value="#{messages.add_idp_config}"/> - - <p:dataTable id="spDataTable" var="entity" value="#{listIdpConfigurationBean.serviceSpList}"> - <p:column> - <f:facet name="header"> - <h:outputText value="#{messages.id}" /> - </f:facet> - <h:link outcome="edit-saml-service-sp.xhtml" value="#{entity.id}"> - <f:param name="id" value="#{entity.id}"/> - </h:link> - </p:column> - <p:column> - <f:facet name="header"> - <h:outputText value="#{messages.idp}" /> - </f:facet> - <h:outputText value="#{(empty entity.idp.entityId ? 'All IDPs' : entity.idp.entityId)}" /> - </p:column> - <p:column> - <f:facet name="header"> - <h:outputText value="#{messages.service}" /> - </f:facet> - <h:outputText value="#{entity.service.name}" /> - </p:column> - <p:column> - <f:facet name="header"> - <h:outputText value="#{messages.script}" /> - </f:facet> - <h:outputText value="#{entity.script.name}" /> - </p:column> - </p:dataTable> + <p:panel header="#{messages.saml_sp_service_configuration}"> + <p:dataTable id="spDataTable" var="entity" value="#{listIdpConfigurationBean.serviceSpList}"> + <p:column width="5%"> + <f:facet name="header"> + <h:outputText value="#{messages.id}" /> + </f:facet> + <h:link outcome="edit-saml-service-sp.xhtml" value="#{entity.id}"> + <f:param name="id" value="#{entity.id}"/> + </h:link> + </p:column> + <p:column> + <f:facet name="header"> + <h:outputText value="#{messages.idp}" /> + </f:facet> + <h:outputText value="#{(empty entity.idp.entityId ? 'All IDPs' : entity.idp.entityId)}" /> + </p:column> + <p:column> + <f:facet name="header"> + <h:outputText value="#{messages.service}" /> + </f:facet> + <h:outputText value="#{entity.service.name}" /> + </p:column> + <p:column> + <f:facet name="header"> + <h:outputText value="#{messages.script}" /> + </f:facet> + <h:outputText value="#{entity.script.name}" /> + </p:column> + <p:column> + <p:commandButton action="#{listIdpConfigurationBean.delete(entity)}" immediate="true" update="@form" + value="#{messages.delete}"> + <p:confirm header="#{messages.confirm_header}" escape="false" + message="#{messages.delete_entry_confirm}" /> + </p:commandButton> + <p:linkButton value="#{messages.edit}" outcome="edit-saml-service-sp.xhtml"> + <f:param name="id" value="#{entity.id}"/> + </p:linkButton> + </p:column> + </p:dataTable> + + <h:link outcome="edit-saml-service-sp.xhtml" value="#{messages.add_sp_service_config}"/> + <p:confirmDialog global="true" showEffect="fade" hideEffect="fade" closable="false" + closeOnEscape="true" width="250"> + <p:commandButton value="#{messages.yes}" type="button" styleClass="ui-confirmdialog-yes"/> + <p:commandButton value="#{messages.no}" type="button" styleClass="ui-confirmdialog-no"/> + </p:confirmDialog> + </p:panel> </h:form> </ui:define>