From 63e554f2f00d78a42750990a01e12ed0c8f766c9 Mon Sep 17 00:00:00 2001 From: "Barbara B. Frosik" <bfrosik@aps.anl.gov> Date: Wed, 18 Feb 2015 22:27:33 +0000 Subject: [PATCH] --- .../controllers/ExperimentController.java | 40 +++++++++++++++---- .../portal/controllers/LoginController.java | 1 - .../controllers/PolicyTypeController.java | 12 +++--- .../controllers/UserInfoController.java | 3 +- .../model/entities/AllowedPolicyValue.java | 5 +-- .../dm/portal/model/entities/DataFolder.java | 5 +-- .../model/entities/DataFolderPermission.java | 5 +-- .../dm/portal/model/entities/Experiment.java | 16 ++++++-- .../model/entities/ExperimentPolicy.java | 6 +-- .../portal/model/entities/ExperimentType.java | 5 +-- .../dm/portal/model/entities/PolicyType.java | 17 ++++---- .../dm/portal/model/entities/RoleType.java | 5 +-- .../dm/portal/model/entities/SettingType.java | 5 +-- .../portal/model/entities/TemplatePolicy.java | 5 +-- .../model/entities/TemplatePolicySet.java | 5 +-- .../model/entities/UserExperimentRole.java | 5 +-- .../model/entities/UserExperimentRolePK.java | 5 +-- .../dm/portal/model/entities/UserInfo.java | 5 +-- .../dm/portal/model/entities/UserSetting.java | 5 +-- src/java/DmWebPortal/web/WEB-INF/web.xml | 4 ++ .../resources/js/common/forwardFromHome.js | 1 + .../web/templates/dmViewTemplate.xhtml | 7 ++-- .../web/views/experiment/edit.xhtml | 9 +++-- .../experiment/experimentListDataTable.xhtml | 4 +- .../experimentPoliciesEditSelection.xhtml | 12 ------ src/java/DmWebPortal/web/views/home.xhtml | 9 +++-- .../userExperimentsListDataTable.xhtml | 6 +-- 27 files changed, 99 insertions(+), 108 deletions(-) create mode 100644 src/java/DmWebPortal/web/resources/js/common/forwardFromHome.js diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/ExperimentController.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/ExperimentController.java index 721359a0..13aaba33 100644 --- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/ExperimentController.java +++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/ExperimentController.java @@ -170,6 +170,7 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper } } + @SessionScoped class ExperimentPoliciesTable extends DataTableController<ExperimentPolicy> { @Override @@ -188,6 +189,7 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper } } + @SessionScoped class ExperimentPoliciesTypeTable extends DataTableController<ExperimentPolicyType> { @Override @@ -211,8 +213,13 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper for (PolicyType type : list) { experimentPolicyType = new ExperimentPolicyType(type); newList.add(experimentPolicyType); + +// policy = getCurrent().getPolicyForType(type); +// experimentPolicyType.setPolicy(policy); + policy = getCurrent().getPolicyForType(type.getId()); experimentPolicyType.setPolicy(policy); + } return newList; } @@ -223,6 +230,7 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper } } + @SessionScoped class ExperimentUsersTable extends DataTableController<ExperimentUser> { @Override @@ -262,6 +270,7 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper } } + @SessionScoped class NoExperimentUsersTypeTable extends DataTableController<UserInfo> { @Override @@ -314,7 +323,7 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper ExperimentPolicy experimentPolicy = new ExperimentPolicy(); experimentPolicy.setExperiment(newExperiment); experimentPolicy.setPolicyType(policyType); - experimentPolicy.setPolicyValue(policyType.getDefaultPolicyValue()); +// experimentPolicy.setPolicyValue(policyType.getDefaultPolicyValue()); newExperiment.getExperimentPolicyList().add(experimentPolicy); } return newExperiment; @@ -578,34 +587,49 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper } } - public boolean canEditExperiment(int experimentId) { + public boolean canEditExperiment(Experiment experiment) { + UserInfo logged = (UserInfo) SessionUtility.getUser(); + if (logged == null) { + return false; + } + if (experiment == null) { + return false; + } if (!initialized) { initializeTables(); } // user that is Manager or PI can edit experiment int managerRoleId = experimentRoles.get(RoleTypeName.MANAGER).getId(); int piRoleId = experimentRoles.get(RoleTypeName.PI).getId(); - UserInfo logged = (UserInfo) SessionUtility.getUser(); - return (logged.getExperimetRole(managerRoleId, experimentId) != null) || (logged.getExperimetRole(piRoleId, experimentId) != null); + return (logged.getExperimetRole(managerRoleId, experiment.getId()) != null) || (logged.getExperimetRole(piRoleId, experiment.getId()) != null); } public boolean isRestricted() { + UserInfo logged = (UserInfo) SessionUtility.getUser(); + if (logged == null) { + return false; + } if (current == null) { return true; } int managerRoleId = experimentRoles.get(RoleTypeName.MANAGER).getId(); int piRoleId = experimentRoles.get(RoleTypeName.PI).getId(); - UserInfo logged = (UserInfo) SessionUtility.getUser(); return (logged.getExperimetRole(managerRoleId, current.getId()) == null) && (logged.getExperimetRole(piRoleId, current.getId()) == null); } - public boolean canDeleteExperiment(int experimentId) { + public boolean canDeleteExperiment(Experiment experiment) { + UserInfo logged = (UserInfo) SessionUtility.getUser(); + if (logged == null) { + return false; + } + if (experiment == null) { + return false; + } if (!initialized) { initializeTables(); } int managerRoleId = experimentRoles.get(RoleTypeName.MANAGER).getId(); - UserInfo logged = (UserInfo) SessionUtility.getUser(); - return logged.getExperimetRole(managerRoleId, experimentId) != null; + return logged.getExperimetRole(managerRoleId, experiment.getId()) != null; } public boolean canAddManager() { diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/LoginController.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/LoginController.java index 37e692f0..2376ba0c 100644 --- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/LoginController.java +++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/LoginController.java @@ -8,7 +8,6 @@ package gov.anl.aps.dm.portal.controllers; import gov.anl.aps.dm.portal.constants.RoleTypeName; import gov.anl.aps.dm.portal.model.beans.RoleTypeFacade; import gov.anl.aps.dm.portal.model.beans.UserInfoFacade; -import gov.anl.aps.dm.portal.model.entities.RoleType; import gov.anl.aps.dm.portal.model.entities.UserInfo; import gov.anl.aps.dm.portal.utilities.LdapUtility; import gov.anl.aps.dm.portal.utilities.SessionUtility; diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/PolicyTypeController.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/PolicyTypeController.java index d29170cd..7e7600d7 100644 --- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/PolicyTypeController.java +++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/PolicyTypeController.java @@ -74,12 +74,12 @@ public class PolicyTypeController extends CrudEntityController<PolicyType, Polic logger.debug("Inserting new experiment type " + policyType.getName()); } - @Override - public void prepareEntityUpdate(PolicyType policyType) throws DmPortalException { - if ((policyType.getName() == null) || (policyType.getName().length() == 0)) { - throw new MissingProperty("Name is missing."); - } - } +// @Override +// public void prepareEntityUpdate(PolicyType policyType) throws DmPortalException { +// if ((policyType.getName() == null) || (policyType.getName().length() == 0)) { +// throw new MissingProperty("Name is missing."); +// } +// } @Override protected String getObjectAlreadyExistMessage(PolicyType policyType) { diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/UserInfoController.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/UserInfoController.java index 8e3078a5..6f06d295 100644 --- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/UserInfoController.java +++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/UserInfoController.java @@ -122,6 +122,7 @@ public class UserInfoController extends CrudEntityController<UserInfo, UserInfoF if (!initialized) { initializeRoleTypes(); } + userExperiments.clear(); logger.debug("converting UserExperiments "); Collection<RoleType> roleTypes; roleTypes = experimentRoles.values(); @@ -136,7 +137,7 @@ public class UserInfoController extends CrudEntityController<UserInfo, UserInfoF experimentUser.setIsInRole(roleType, inRole); } } - return new ArrayList<>(userExperiments); + return userExperiments; } @Override diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/AllowedPolicyValue.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/AllowedPolicyValue.java index 06f757a8..76f89cbb 100644 --- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/AllowedPolicyValue.java +++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/AllowedPolicyValue.java @@ -112,10 +112,7 @@ public class AllowedPolicyValue extends CloneableEntity return false; } AllowedPolicyValue other = (AllowedPolicyValue) object; - if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { - return false; - } - return true; + return (this.id != null || other.id == null) && (this.id == null || this.id.equals(other.id)); } @Override diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/DataFolder.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/DataFolder.java index e03a57fb..185c99bc 100644 --- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/DataFolder.java +++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/DataFolder.java @@ -152,10 +152,7 @@ public class DataFolder extends CloneableEntity return false; } DataFolder other = (DataFolder) object; - if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { - return false; - } - return true; + return (this.id != null || other.id == null) && (this.id == null || this.id.equals(other.id)); } @Override diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/DataFolderPermission.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/DataFolderPermission.java index 9fd9b0a5..410cbb63 100644 --- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/DataFolderPermission.java +++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/DataFolderPermission.java @@ -110,10 +110,7 @@ public class DataFolderPermission extends CloneableEntity return false; } DataFolderPermission other = (DataFolderPermission) object; - if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { - return false; - } - return true; + return (this.id != null || other.id == null) && (this.id == null || this.id.equals(other.id)); } @Override diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/Experiment.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/Experiment.java index 0e2e2868..6d63ee0f 100644 --- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/Experiment.java +++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/Experiment.java @@ -161,6 +161,16 @@ public class Experiment extends CloneableEntity this.experimentType = experimentType; } + +// public ExperimentPolicy getPolicyForType(PolicyType type) { +// for (ExperimentPolicy experimentPolicy : experimentPolicyList) { +// if (experimentPolicy.getPolicyType().getId() == type.getId()) { +// return experimentPolicy; +// } +// } +// return null; +// } + public ExperimentPolicy getPolicyForType(int typeId) { for (ExperimentPolicy experimentPolicy : experimentPolicyList) { if (experimentPolicy.getPolicyType().getId() == typeId) { @@ -170,6 +180,7 @@ public class Experiment extends CloneableEntity return null; } + @Override public int hashCode() { int hash = 0; @@ -184,10 +195,7 @@ public class Experiment extends CloneableEntity return false; } Experiment other = (Experiment) object; - if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { - return false; - } - return true; + return (this.id != null || other.id == null) && (this.id == null || this.id.equals(other.id)); } @Override diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/ExperimentPolicy.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/ExperimentPolicy.java index 48a38100..c60480a9 100644 --- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/ExperimentPolicy.java +++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/ExperimentPolicy.java @@ -17,7 +17,6 @@ import javax.persistence.ManyToOne; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; -import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import javax.xml.bind.annotation.XmlRootElement; @@ -120,10 +119,7 @@ public class ExperimentPolicy extends CloneableEntity return false; } ExperimentPolicy other = (ExperimentPolicy) object; - if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { - return false; - } - return true; + return (this.id != null || other.id == null) && (this.id == null || this.id.equals(other.id)); } @Override diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/ExperimentType.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/ExperimentType.java index a2ac97ff..dd204831 100644 --- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/ExperimentType.java +++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/ExperimentType.java @@ -124,10 +124,7 @@ public class ExperimentType extends CloneableEntity return false; } ExperimentType other = (ExperimentType) object; - if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { - return false; - } - return true; + return (this.id != null || other.id == null) && (this.id == null || this.id.equals(other.id)); } @Override diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/PolicyType.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/PolicyType.java index 5183030e..a664fbf9 100644 --- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/PolicyType.java +++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/PolicyType.java @@ -14,9 +14,12 @@ import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToMany; +import javax.persistence.OneToOne; import javax.persistence.Table; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; @@ -56,8 +59,9 @@ public class PolicyType extends CloneableEntity @Column(name = "handler_name") private String handlerName; @Size(max = 2147483647) - @Column(name = "default_policy_value") - private String defaultPolicyValue; + @JoinColumn(name = "default_policy_value", referencedColumnName = "policy_value") + @OneToOne + private AllowedPolicyValue defaultPolicyValue; @OneToMany(cascade = CascadeType.ALL, mappedBy = "policyType") private List<ExperimentPolicy> experimentPolicyList; @OneToMany(cascade = CascadeType.ALL, mappedBy = "policyType") @@ -109,11 +113,11 @@ public class PolicyType extends CloneableEntity this.handlerName = handlerName; } - public String getDefaultPolicyValue() { + public AllowedPolicyValue getDefaultPolicyValue() { return defaultPolicyValue; } - public void setDefaultPolicyValue(String defaultPolicyValue) { + public void setDefaultPolicyValue(AllowedPolicyValue defaultPolicyValue) { this.defaultPolicyValue = defaultPolicyValue; } @@ -158,10 +162,7 @@ public class PolicyType extends CloneableEntity return false; } PolicyType other = (PolicyType) object; - if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { - return false; - } - return true; + return (this.id != null || other.id == null) && (this.id == null || this.id.equals(other.id)); } @Override diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/RoleType.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/RoleType.java index c0fed6b2..bf68b2dd 100644 --- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/RoleType.java +++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/RoleType.java @@ -164,10 +164,7 @@ public class RoleType extends CloneableEntity return false; } RoleType other = (RoleType) object; - if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { - return false; - } - return true; + return (this.id != null || other.id == null) && (this.id == null || this.id.equals(other.id)); } @Override diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/SettingType.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/SettingType.java index 4c9d8465..ec9e90eb 100644 --- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/SettingType.java +++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/SettingType.java @@ -146,10 +146,7 @@ public class SettingType extends CloneableEntity return false; } SettingType other = (SettingType) object; - if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { - return false; - } - return true; + return (this.id != null || other.id == null) && (this.id == null || this.id.equals(other.id)); } @Override diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/TemplatePolicy.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/TemplatePolicy.java index 6e9757c9..e966180b 100644 --- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/TemplatePolicy.java +++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/TemplatePolicy.java @@ -119,10 +119,7 @@ public class TemplatePolicy extends CloneableEntity return false; } TemplatePolicy other = (TemplatePolicy) object; - if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { - return false; - } - return true; + return (this.id != null || other.id == null) && (this.id == null || this.id.equals(other.id)); } @Override diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/TemplatePolicySet.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/TemplatePolicySet.java index 2baf67a8..55117db5 100644 --- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/TemplatePolicySet.java +++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/TemplatePolicySet.java @@ -112,10 +112,7 @@ public class TemplatePolicySet extends CloneableEntity return false; } TemplatePolicySet other = (TemplatePolicySet) object; - if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { - return false; - } - return true; + return (this.id != null || other.id == null) && (this.id == null || this.id.equals(other.id)); } @Override diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/UserExperimentRole.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/UserExperimentRole.java index 93771878..58ea02bd 100644 --- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/UserExperimentRole.java +++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/UserExperimentRole.java @@ -100,10 +100,7 @@ public class UserExperimentRole extends CloneableEntity return false; } UserExperimentRole other = (UserExperimentRole) object; - if ((this.userExperimentRolePK == null && other.userExperimentRolePK != null) || (this.userExperimentRolePK != null && !this.userExperimentRolePK.equals(other.userExperimentRolePK))) { - return false; - } - return true; + return (this.userExperimentRolePK != null || other.userExperimentRolePK == null) && (this.userExperimentRolePK == null || this.userExperimentRolePK.equals(other.userExperimentRolePK)); } @Override diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/UserExperimentRolePK.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/UserExperimentRolePK.java index 14efa81f..327c1ac1 100644 --- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/UserExperimentRolePK.java +++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/UserExperimentRolePK.java @@ -87,10 +87,7 @@ public class UserExperimentRolePK implements Serializable if (this.experimentId != other.experimentId) { return false; } - if (this.roleTypeId != other.roleTypeId) { - return false; - } - return true; + return this.roleTypeId == other.roleTypeId; } @Override diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/UserInfo.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/UserInfo.java index d1fc360a..62e35b2a 100644 --- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/UserInfo.java +++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/UserInfo.java @@ -245,10 +245,7 @@ public class UserInfo extends CloneableEntity return false; } UserInfo other = (UserInfo) object; - if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { - return false; - } - return true; + return (this.id != null || other.id == null) && (this.id == null || this.id.equals(other.id)); } @Override diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/UserSetting.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/UserSetting.java index 7d539cba..e618cc19 100644 --- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/UserSetting.java +++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/model/entities/UserSetting.java @@ -101,10 +101,7 @@ public class UserSetting extends CloneableEntity return false; } UserSetting other = (UserSetting) object; - if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { - return false; - } - return true; + return (this.id != null || other.id == null) && (this.id == null || this.id.equals(other.id)); } @Override diff --git a/src/java/DmWebPortal/web/WEB-INF/web.xml b/src/java/DmWebPortal/web/WEB-INF/web.xml index 5d426f41..086dcfb7 100644 --- a/src/java/DmWebPortal/web/WEB-INF/web.xml +++ b/src/java/DmWebPortal/web/WEB-INF/web.xml @@ -21,4 +21,8 @@ <welcome-file-list> <welcome-file>index.xhtml</welcome-file> </welcome-file-list> + <error-page> + <exception-type>javax.faces.application.ViewExpiredException</exception-type> + <location>/login.xhtml</location> + </error-page> </web-app> diff --git a/src/java/DmWebPortal/web/resources/js/common/forwardFromHome.js b/src/java/DmWebPortal/web/resources/js/common/forwardFromHome.js new file mode 100644 index 00000000..3e5512f7 --- /dev/null +++ b/src/java/DmWebPortal/web/resources/js/common/forwardFromHome.js @@ -0,0 +1 @@ + window.location = "login.xhtml"; diff --git a/src/java/DmWebPortal/web/templates/dmViewTemplate.xhtml b/src/java/DmWebPortal/web/templates/dmViewTemplate.xhtml index 19764018..1971d8b4 100644 --- a/src/java/DmWebPortal/web/templates/dmViewTemplate.xhtml +++ b/src/java/DmWebPortal/web/templates/dmViewTemplate.xhtml @@ -58,9 +58,10 @@ <p:menuitem value="Experiments" url="/views/experiment/list.xhtml"/> <p:menuitem value="Users" url="/views/userInfo/list.xhtml"/> <p:menuitem value="Experiment Types" url="/views/experimentType/list.xhtml"/> - <p:menuitem value="Policies" url="/views/policyType/list.xhtml"/> <p:menuitem value="Role Types" url="/views/roleType/list.xhtml"/> - <p:menuitem value="Login" onclick="PF('loginDialog').show();" rendered="#{!loginController.loggedIn}" icon="ui-icon-person"/> - <p:menuitem value="Logout" action="#{loginController.logout()}" rendered="#{loginController.loggedIn}" icon="ui-icon-close"/> </p:menubar> + <p:menuitem value="Policies" url="/views/policyType/list.xhtml"/> + <p:menuitem value="Role Types" url="/views/roleType/list.xhtml"/> + <p:menuitem value="Logout" action="#{loginController.logout()}" icon="ui-icon-close"/> + </p:menubar> </h:form> </ui:insert> </div> diff --git a/src/java/DmWebPortal/web/views/experiment/edit.xhtml b/src/java/DmWebPortal/web/views/experiment/edit.xhtml index 1669275e..78360f86 100644 --- a/src/java/DmWebPortal/web/views/experiment/edit.xhtml +++ b/src/java/DmWebPortal/web/views/experiment/edit.xhtml @@ -7,17 +7,18 @@ xmlns:ui="http://xmlns.jcp.org/jsf/facelets" xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"> - <h:outputScript library="js/common" name="forwardNotLoggedin.js" rendered="#{!loginController.loggedIn}"/> + <h:outputScript library="js/common" name="forwardNotLoggedin.js" rendered="#{!loginController.loggedIn}" /> <h:outputScript library="js/common" name="forwardNotAuthorized.js" rendered="#{!loginController.admin and experimentController.isRestricted()}"/> - <ui:composition template="../../templates/dmViewTemplate.xhtml"> - <ui:define name="middleCenter"> + + <ui:composition template="../../templates/dmViewTemplate.xhtml" > + <ui:define name="middleCenter" > <h:form id="editExperimentForm"> <div class="pageTitle"> <h1>Edit Experiment #{experimentController.current.name}</h1> </div> - <p:accordionPanel multiple="true" dynamic="true" cache="false" activeIndex="0,1" > + <p:accordionPanel multiple="true" dynamic="true" cache="false" activeIndex="0,1,2" > <p:tab title="Experiment Properties" id="detailsTab" > <div class="middleCenterLeftContent"> diff --git a/src/java/DmWebPortal/web/views/experiment/experimentListDataTable.xhtml b/src/java/DmWebPortal/web/views/experiment/experimentListDataTable.xhtml index 52f7128d..8d0f1c73 100644 --- a/src/java/DmWebPortal/web/views/experiment/experimentListDataTable.xhtml +++ b/src/java/DmWebPortal/web/views/experiment/experimentListDataTable.xhtml @@ -58,11 +58,11 @@ <p:commandLink action="#{experimentController.prepareView(experimentObject)}" styleClass="ui-icon ui-icon-info" title="View"> </p:commandLink> - <p:commandLink action="#{experimentController.prepareEdit(experimentObject)}" rendered="#{loginController.admin or experimentController.canEditExperiment(experimentObject.id)}" styleClass="ui-icon ui-icon-pencil" title="Edit"> + <p:commandLink action="#{experimentController.prepareEdit(experimentObject)}" rendered="#{loginController.admin or experimentController.canEditExperiment(experimentObject)}" styleClass="ui-icon ui-icon-pencil" title="Edit"> <f:setPropertyActionListener value="#{experimentObject}" target="#{experimentController.current}"/> </p:commandLink> - <p:commandLink oncomplete="PF('experimentDestroyDialogWidget').show()" rendered="#{loginController.admin or experimentController.canDeleteExperiment(experimentObject.id)}" styleClass="ui-icon ui-icon-trash" title="Delete" update="@form"> + <p:commandLink oncomplete="PF('experimentDestroyDialogWidget').show()" rendered="#{loginController.admin or experimentController.canDeleteExperiment(experimentObject)}" styleClass="ui-icon ui-icon-trash" title="Delete" update="@form"> <f:setPropertyActionListener value="#{experimentObject}" target="#{experimentController.current}"/> </p:commandLink> </div> diff --git a/src/java/DmWebPortal/web/views/experiment/experimentPoliciesEditSelection.xhtml b/src/java/DmWebPortal/web/views/experiment/experimentPoliciesEditSelection.xhtml index f64d0209..1950af37 100644 --- a/src/java/DmWebPortal/web/views/experiment/experimentPoliciesEditSelection.xhtml +++ b/src/java/DmWebPortal/web/views/experiment/experimentPoliciesEditSelection.xhtml @@ -10,18 +10,6 @@ <p/> <h:panelGrid columns="2" cellpadding="5"> - <p:outputLabel for="deletionPolicy" value="Data Deletion Policy: " /> - <p:selectOneMenu id="deletionPolicy" value="#{experimentController.current.getPolicyForType(1).name}" style="width:150px"> - <f:selectItem itemLabel="#{experimentController.current.getPolicyForType(1).name}" itemValue="" noSelectionOption="false" /> - <f:selectItems value="#{experimentController.getPoliciesNamesForType(1)}" /> - </p:selectOneMenu> - - <p:outputLabel for="transferPolicy" value="Data Transfer Policy: " /> - <p:selectOneMenu id="transferPolicy" value="#{experimentController.current.getPolicyForType(2).name}" style="width:150px"> - <f:selectItem itemLabel="#{experimentController.current.getPolicyForType(1).name}" itemValue="" noSelectionOption="false" /> - <f:selectItems value="#{experimentController.getPoliciesNamesForType(2)}" /> - </p:selectOneMenu> - </h:panelGrid> <!-- <p:dataTable id="experimentPoliciesEditDataTable" diff --git a/src/java/DmWebPortal/web/views/home.xhtml b/src/java/DmWebPortal/web/views/home.xhtml index 5bfdf960..e62fae7b 100644 --- a/src/java/DmWebPortal/web/views/home.xhtml +++ b/src/java/DmWebPortal/web/views/home.xhtml @@ -3,11 +3,14 @@ <ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" - xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:p="http://primefaces.org/ui" - xmlns:f="http://xmlns.jcp.org/jsf/core"> + xmlns:f="http://java.sun.com/jsf/core" + xmlns:ui="http://xmlns.jcp.org/jsf/facelets" + xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"> + + + <h:outputScript library="js/common" name="forwardFromHome.js" rendered="#{!loginController.loggedIn}" /> - <h:outputScript library="js/common" name="forwardNotLoggedin.js" rendered="#{!loginController.loggedIn}"/> <ui:composition template="../templates/dmViewTemplate.xhtml"> <ui:define name="middleCenter"> diff --git a/src/java/DmWebPortal/web/views/userInfo/userExperimentsListDataTable.xhtml b/src/java/DmWebPortal/web/views/userInfo/userExperimentsListDataTable.xhtml index 28d5d490..bdf04952 100644 --- a/src/java/DmWebPortal/web/views/userInfo/userExperimentsListDataTable.xhtml +++ b/src/java/DmWebPortal/web/views/userInfo/userExperimentsListDataTable.xhtml @@ -35,15 +35,15 @@ </p:column> - <p:column sortBy="#{!experimentUserObject.isManager}" headerText="Manager"> + <p:column sortBy="#{!userExperimentObject.isManager}" headerText="Manager"> <h:outputText value="" styleClass="ui-icon ui-icon-check" rendered="#{userExperimentObject.isManager}" /> </p:column> - <p:column sortBy="#{!experimentUserObject.isPI}" headerText="Principal Investigator"> + <p:column sortBy="#{!userExperimentObject.isPI}" headerText="Principal Investigator"> <h:outputText value="" styleClass="ui-icon ui-icon-check" rendered="#{userExperimentObject.isPI}" /> </p:column> - <p:column sortBy="#{!experimentUserObject.isUser}" headerText="User"> + <p:column sortBy="#{!userExperimentObject.isUser}" headerText="User"> <h:outputText value="" styleClass="ui-icon ui-icon-check" rendered="#{userExperimentObject.isUser}" /> </p:column> -- GitLab