Skip to content
Snippets Groups Projects
Commit 25038bbf authored by Barbara B. Frosik's avatar Barbara B. Frosik
Browse files

No commit message

No commit message
parent 839bba93
No related branches found
No related tags found
No related merge requests found
Showing
with 150 additions and 180 deletions
...@@ -15,10 +15,8 @@ import gov.anl.aps.dm.portal.model.entities.CloneableEntity; ...@@ -15,10 +15,8 @@ import gov.anl.aps.dm.portal.model.entities.CloneableEntity;
import gov.anl.aps.dm.portal.model.entities.RoleType; import gov.anl.aps.dm.portal.model.entities.RoleType;
import gov.anl.aps.dm.portal.model.entities.UserExperimentRole; import gov.anl.aps.dm.portal.model.entities.UserExperimentRole;
import gov.anl.aps.dm.portal.model.entities.UserInfo; import gov.anl.aps.dm.portal.model.entities.UserInfo;
import gov.anl.aps.dm.portal.utilities.DoubleKeyMap;
import gov.anl.aps.dm.portal.utilities.SessionUtility; import gov.anl.aps.dm.portal.utilities.SessionUtility;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -53,27 +51,26 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper ...@@ -53,27 +51,26 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper
public class ExperimentUser extends CloneableEntity { public class ExperimentUser extends CloneableEntity {
String username;
String name; String name;
int userId;
int experimentId; int experimentId;
private final UserInfo user;
private final boolean[] userRoles; private final boolean[] userRoles;
public ExperimentUser(int experimentId, int userId) { public ExperimentUser(int experimentId, UserInfo user) {
userRoles = new boolean[maxExperimentRoleTypeId + 1]; userRoles = new boolean[maxExperimentRoleTypeId + 1];
this.experimentId = experimentId; this.experimentId = experimentId;
this.userId = userId; this.user = user;
} }
public String getUsername() { public UserInfo getUser() {
return username; return user;
} }
public void setUsername(String username) { public String getUsername() {
this.username = username; return user.getUsername();
} }
public String getName() { public String getName() {
return name; return name;
} }
...@@ -113,19 +110,9 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper ...@@ -113,19 +110,9 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper
return userRoles; return userRoles;
} }
public void removeAllExperimentRoles() {
UserExperimentRole userExperimentRole;
for (RoleType role : experimentRoles.values()) {
if (userRoles[role.getId()]) {
userExperimentRole = userExperimentRoleFacade.findByUserExperimentRole(userId, experimentId, role.getId());
userExperimentRoleFacade.remove(userExperimentRole);
}
}
}
@Override @Override
public int hashCode() { public int hashCode() {
return userId + experimentId * 100; return user.getId() + experimentId * 100;
} }
@Override @Override
...@@ -134,7 +121,7 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper ...@@ -134,7 +121,7 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper
if (!(object instanceof ExperimentUser)) { if (!(object instanceof ExperimentUser)) {
return false; return false;
} }
return ((userId == ((ExperimentUser) object).userId) && (experimentId == ((ExperimentUser) object).experimentId)); return ((user.getId() == ((ExperimentUser) object).user.getId()) && (experimentId == ((ExperimentUser) object).experimentId));
} }
} }
...@@ -156,18 +143,15 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper ...@@ -156,18 +143,15 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper
initializeRoleTypes(); initializeRoleTypes();
} }
logger.debug("converting ExperimentUser "); logger.debug("converting ExperimentUser ");
Collection<RoleType> roleTypes;
roleTypes = experimentRoles.values();
ExperimentUser experimentUser; ExperimentUser experimentUser;
for (UserInfo user : list) { for (UserInfo user : list) {
if ((experimentUser = experimentUsers.getByFirstKey(user)) == null) { if ((experimentUser = experimentUsers.get(user)) == null) {
experimentUser = new ExperimentUser(getCurrent().getId(), user.getId()); experimentUser = new ExperimentUser(getCurrent().getId(), user);
experimentUser.setUsername(user.getUsername());
experimentUser.setName(user.getLastName() + ", " + user.getFirstName()); experimentUser.setName(user.getLastName() + ", " + user.getFirstName());
experimentUsers.put(user, user.getId(), experimentUser); experimentUsers.put(user, experimentUser);
} }
for (RoleType roleType : roleTypes) { for (RoleType roleType : experimentRoles.values()) {
boolean inRole = user.inRole(roleType.getId(), getCurrent().getId()); boolean inRole = (user.getExperimetRole(roleType.getId(), getCurrent().getId()) != null);
experimentUser.setIsInRole(roleType, inRole); experimentUser.setIsInRole(roleType, inRole);
} }
} }
...@@ -202,11 +186,10 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper ...@@ -202,11 +186,10 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper
private ExperimentController.ExperimentUsersTable experimentUsersListTable = new ExperimentController.ExperimentUsersTable(); private ExperimentController.ExperimentUsersTable experimentUsersListTable = new ExperimentController.ExperimentUsersTable();
private ExperimentController.ExperimentUsersTable experimentUsersEditTable = new ExperimentController.ExperimentUsersTable(); private ExperimentController.ExperimentUsersTable experimentUsersEditTable = new ExperimentController.ExperimentUsersTable();
private ExperimentController.NoExperimentUsersTypeTable noExperimentUsersTypeTable = new ExperimentController.NoExperimentUsersTypeTable(); private ExperimentController.NoExperimentUsersTypeTable noExperimentUsersTypeTable = new ExperimentController.NoExperimentUsersTypeTable();
final private DoubleKeyMap<UserInfo, Integer, ExperimentUser> experimentUsers = new DoubleKeyMap<>(); final private Map<UserInfo, ExperimentUser> experimentUsers = new HashMap<>();
final private Map<String, RoleType> experimentRoles = new HashMap<>(); final private Map<String, RoleType> experimentRoles = new HashMap<>();
int maxExperimentRoleTypeId = 0; int maxExperimentRoleTypeId = 0;
boolean initialized = false; boolean initialized = false;
private UserInfo loggedUser = null;
public ExperimentController() { public ExperimentController() {
this.experimentUsersListTable = new ExperimentController.ExperimentUsersTable(); this.experimentUsersListTable = new ExperimentController.ExperimentUsersTable();
...@@ -251,12 +234,6 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper ...@@ -251,12 +234,6 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper
return super.prepareEdit(experiment); return super.prepareEdit(experiment);
} }
@Override
public String prepareView(Experiment experiment) {
clear();
return super.prepareView(experiment);
}
private void initializeRoleTypes() { private void initializeRoleTypes() {
List<RoleType> roleTypesList = roleTypeFacade.findAll(); List<RoleType> roleTypesList = roleTypeFacade.findAll();
for (RoleType roleType : roleTypesList) { for (RoleType roleType : roleTypesList) {
...@@ -313,6 +290,7 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper ...@@ -313,6 +290,7 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper
// the methods for Experiment User // the methods for Experiment User
@Override
public void clear() { public void clear() {
experimentUsersListTable.resetList(); experimentUsersListTable.resetList();
experimentUsersEditTable.resetList(); experimentUsersEditTable.resetList();
...@@ -346,15 +324,13 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper ...@@ -346,15 +324,13 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper
public void updateRemovedExperimentRoles() { public void updateRemovedExperimentRoles() {
UserExperimentRole userExperimentRole; UserExperimentRole userExperimentRole;
for (UserInfo user : experimentUsers.firstKeySet()) { for (UserInfo user : experimentUsers.keySet()) {
ExperimentUser experimentUser = experimentUsers.getByFirstKey(user); ExperimentUser experimentUser = experimentUsers.get(user);
for (RoleType roleType : experimentRoles.values()) { for (RoleType roleType : experimentRoles.values()) {
int roleId = roleType.getId(); int roleId = roleType.getId();
if ((!experimentUser.userRoles[roleId]) && (user.inRole(roleId, experimentUser.experimentId))) { userExperimentRole = user.getExperimetRole(roleId, experimentUser.experimentId);
userExperimentRole = userExperimentRoleFacade.findByUserExperimentRole(experimentUser.userId, experimentUser.experimentId, roleId); if ((userExperimentRole != null ) && (!experimentUser.userRoles[roleId]) ) {
if (userExperimentRole != null) { userExperimentRoleFacade.remove(userExperimentRole);
userExperimentRoleFacade.remove(userExperimentRole);
}
} }
} }
} }
...@@ -363,24 +339,24 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper ...@@ -363,24 +339,24 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper
@Override @Override
public String update() { public String update() {
boolean updated; boolean updated;
for (UserInfo user : experimentUsers.firstKeySet()) { for (UserInfo user : experimentUsers.keySet()) {
updated = false; updated = false;
ExperimentUser experimentUser = experimentUsers.getByFirstKey(user); ExperimentUser experimentUser = experimentUsers.get(user);
for (RoleType roleType : experimentRoles.values()) { for (RoleType roleType : experimentRoles.values()) {
if (!roleType.isIsSystemRole()) { if (!roleType.isIsSystemRole()) {
int roleId = roleType.getId(); int roleId = roleType.getId();
if (!user.inRole(roleId, experimentUser.experimentId)) { if (user.getExperimetRole(roleId, experimentUser.experimentId) == null) {
if (experimentUser.userRoles[roleId]) { if (experimentUser.userRoles[roleId]) {
UserExperimentRole userExperimentRole = new UserExperimentRole(experimentUser.userId, experimentUser.experimentId, roleId); UserExperimentRole userExperimentRole = new UserExperimentRole(user.getId(), experimentUser.experimentId, roleId);
user.addUserExperimentRole(userExperimentRole); user.addUserExperimentRole(userExperimentRole);
updated = true; updated = true;
logger.debug("adding userExperimentRole " + experimentUser.userId + " " + experimentUser.experimentId + " " + roleId); logger.debug("adding userExperimentRole " + user.getId() + " " + experimentUser.experimentId + " " + roleId);
} }
} }
else if (!experimentUser.userRoles[roleId]) { else if (!experimentUser.userRoles[roleId]) {
user.removeExperimentRole(roleId, experimentUser.experimentId); user.removeExperimentRole(roleId, experimentUser.experimentId);
updated = true; updated = true;
logger.debug("adding userExperimentRole " + experimentUser.userId + " " + experimentUser.experimentId + " " + roleId); logger.debug("adding userExperimentRole " + user.getId() + " " + experimentUser.experimentId + " " + roleId);
} }
} }
if (updated) { if (updated) {
...@@ -401,10 +377,9 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper ...@@ -401,10 +377,9 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper
} }
public String removeUser() { public String removeUser() {
List<RoleType> roleTypesList = roleTypeFacade.findAll();
ExperimentUser experimentUser = experimentUsersEditTable.getCurrentObject(); ExperimentUser experimentUser = experimentUsersEditTable.getCurrentObject();
UserInfo user = findUserInExperiment(experimentUser); UserInfo user = experimentUser.getUser();
for (RoleType roleType : roleTypesList) { for (RoleType roleType : experimentRoles.values()) {
int roleId = roleType.getId(); int roleId = roleType.getId();
if (experimentUser.userRoles[roleId]) { if (experimentUser.userRoles[roleId]) {
user.removeExperimentRole(roleId, experimentUser.experimentId); user.removeExperimentRole(roleId, experimentUser.experimentId);
...@@ -417,18 +392,13 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper ...@@ -417,18 +392,13 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper
public void removeUserRoles() { public void removeUserRoles() {
ExperimentUser experimentUser = experimentUsersEditTable.getCurrentObject(); ExperimentUser experimentUser = experimentUsersEditTable.getCurrentObject();
experimentUser.removeAllExperimentRoles(); UserInfo user = experimentUser.getUser();
} List<UserExperimentRole> roleList = user.getUserExperimentRoles(experimentUser.experimentId);
for (UserExperimentRole userExperimentRole : roleList) {
private UserInfo findUserInExperiment(ExperimentUser experimentUser) { userExperimentRoleFacade.remove(userExperimentRole);
for (UserInfo user : experimentUsers.firstKeySet()) {
if (experimentUsers.getByFirstKey(user).equals(experimentUser)) {
return user;
}
} }
return null;
} }
public String addExperimentUser() { public String addExperimentUser() {
List<UserInfo> newUsers = noExperimentUsersTypeTable.getSelectedObjectList(); List<UserInfo> newUsers = noExperimentUsersTypeTable.getSelectedObjectList();
if (newUsers == null) { if (newUsers == null) {
...@@ -454,36 +424,47 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper ...@@ -454,36 +424,47 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper
} }
} }
public boolean canEditExperiment(int userId, int experimentId) { public boolean canEditExperiment(int experimentId) {
if (!initialized) { if (!initialized) {
initializeRoleTypes(); initializeRoleTypes();
} }
// user that is Manager or PI can edit experiment // user that is Manager or PI can edit experiment
int managerRoleId = experimentRoles.get(RoleTypeName.MANAGER).getId(); int managerRoleId = experimentRoles.get(RoleTypeName.MANAGER).getId();
int piRoleId = experimentRoles.get(RoleTypeName.PI).getId(); int piRoleId = experimentRoles.get(RoleTypeName.PI).getId();
return ((userExperimentRoleFacade.findByUserExperimentRole(userId, experimentId, managerRoleId) != null) || UserInfo logged = (UserInfo) SessionUtility.getUser();
(userExperimentRoleFacade.findByUserExperimentRole(userId, experimentId, piRoleId) != null)); return (logged.getExperimetRole(managerRoleId, experimentId) != null) || (logged.getExperimetRole(piRoleId, experimentId) != null);
} }
public boolean canDeleteExperiment(int userId, int experimentId) { public boolean isRestricted() {
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) {
if (!initialized) { if (!initialized) {
initializeRoleTypes(); initializeRoleTypes();
} }
// user that is Manager can delete experiment int managerRoleId = experimentRoles.get(RoleTypeName.MANAGER).getId();
return (userExperimentRoleFacade.findByUserExperimentRole(userId, experimentId, experimentRoles.get(RoleTypeName.MANAGER).getId()) != null); UserInfo logged = (UserInfo) SessionUtility.getUser();
return logged.getExperimetRole(managerRoleId, experimentId) != null;
} }
public boolean canAddManager(int userId) { public boolean canAddManager() {
ExperimentUser logged = experimentUsers.getBySecondKey(userId); ExperimentUser logged = experimentUsers.get((UserInfo) SessionUtility.getUser());
if (logged == null) { if (logged == null) {
return false; return false;
} }
return logged.isIsManager(); return logged.isIsManager();
} }
public boolean canAddPiAndUser(int userId) { public boolean canAddPiAndUser() {
ExperimentUser logged = experimentUsers.getBySecondKey(userId); ExperimentUser logged = experimentUsers.get((UserInfo) SessionUtility.getUser());
if (logged == null) { if (logged == null) {
return false; return false;
} }
return logged.isIsManager() || logged.isIsPI(); return logged.isIsManager() || logged.isIsPI();
......
...@@ -35,7 +35,6 @@ public class LoginController implements Serializable ...@@ -35,7 +35,6 @@ public class LoginController implements Serializable
private RoleTypeFacade roleTypeFacade; private RoleTypeFacade roleTypeFacade;
private String username = null; private String username = null;
private int id;
private String password = null; private String password = null;
private boolean loggedIn = false; private boolean loggedIn = false;
private UserInfo user = null; private UserInfo user = null;
...@@ -85,10 +84,6 @@ public class LoginController implements Serializable ...@@ -85,10 +84,6 @@ public class LoginController implements Serializable
this.username = username; this.username = username;
} }
public int getUserId() {
return id;
}
/** /**
* Check if user is logged in. * Check if user is logged in.
* *
...@@ -136,7 +131,6 @@ public class LoginController implements Serializable ...@@ -136,7 +131,6 @@ public class LoginController implements Serializable
loggedIn = true; loggedIn = true;
SessionUtility.addInfoMessage("Successful Login", "User " + username + " is logged in."); SessionUtility.addInfoMessage("Successful Login", "User " + username + " is logged in.");
isAdmin = roleTypeFacade.findByName(RoleTypeName.ADMIN).isAdmin(username); isAdmin = roleTypeFacade.findByName(RoleTypeName.ADMIN).isAdmin(username);
id = user.getId();
return getLandingPage(); return getLandingPage();
} }
else { else {
......
...@@ -132,7 +132,7 @@ public class UserInfoController extends CrudEntityController<UserInfo, UserInfoF ...@@ -132,7 +132,7 @@ public class UserInfoController extends CrudEntityController<UserInfo, UserInfoF
experimentUser.setDescription(experiment.getDescription()); experimentUser.setDescription(experiment.getDescription());
userExperiments.add(experimentUser); userExperiments.add(experimentUser);
for (RoleType roleType : roleTypes) { for (RoleType roleType : roleTypes) {
boolean inRole = getCurrent().inRole(roleType.getId(), experiment.getId()); boolean inRole = (getCurrent().getExperimetRole(roleType.getId(), experiment.getId()) != null);
experimentUser.setIsInRole(roleType, inRole); experimentUser.setIsInRole(roleType, inRole);
} }
} }
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
package gov.anl.aps.dm.portal.model.entities; package gov.anl.aps.dm.portal.model.entities;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.persistence.Basic; import javax.persistence.Basic;
import javax.persistence.CascadeType; import javax.persistence.CascadeType;
...@@ -208,16 +209,26 @@ public class UserInfo extends CloneableEntity ...@@ -208,16 +209,26 @@ public class UserInfo extends CloneableEntity
} }
} }
public List<UserExperimentRole> getUserExperimentRoles(int experimentId) {
List<UserExperimentRole> roleList = new ArrayList<>();
for (UserExperimentRole experimentRole : userExperimentRoleList) {
if (experimentRole.getUserExperimentRolePK().getExperimentId() == experimentId) {
roleList.add(experimentRole);
}
}
return roleList;
}
public void addUserExperimentRole(UserExperimentRole userExperimentRole) { public void addUserExperimentRole(UserExperimentRole userExperimentRole) {
userExperimentRoleList.add(userExperimentRole); userExperimentRoleList.add(userExperimentRole);
} }
public boolean inRole(int roleId, int experimentId) { public UserExperimentRole getExperimetRole(int roleId, int experimentId) {
for (UserExperimentRole experimentRole : userExperimentRoleList) { for (UserExperimentRole experimentRole : userExperimentRoleList) {
if ((experimentRole.getUserExperimentRolePK().getRoleTypeId() == roleId) && (experimentRole.getUserExperimentRolePK().getExperimentId() == experimentId)) if ((experimentRole.getUserExperimentRolePK().getRoleTypeId() == roleId) && (experimentRole.getUserExperimentRolePK().getExperimentId() == experimentId))
return true; return experimentRole;
} }
return false; return null;
} }
@Override @Override
......
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gov.anl.aps.dm.portal.utilities;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
/**
*
* @author bfrosik
* @param <K1>
* @param <K2>
* @param <E>
*/
public class DoubleKeyMap <K1, K2, E> {
private final Map<K1, E> map1 = new HashMap<>();
private final Map<K2, E> map2 = new HashMap<>();
public void put(K1 key1, K2 key2, E value) {
map1.put(key1, value);
map2.put(key2, value);
}
public E getByFirstKey(K1 key1) {
return map1.get(key1);
}
public E getBySecondKey(K2 key2) {
return map2.get(key2);
}
public void remove(K1 key1, K2 key2) {
map1.remove(key1);
map2.remove(key2);
}
public Collection<E> values() {
return map1.values();
}
public Collection<K1> firstKeySet() {
return map1.keySet();
}
public Collection<K2> secondKeySet() {
return map2.keySet();
}
public void clear() {
map1.clear();
map2.clear();
}
}
window.location = "/dm/views/home.xhtml";
<!--<?xml version='1.0' encoding='UTF-8' ?>-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html">
<h:outputScript library="js/common" name="forwardNotLoggedin.js" rendered="#{!loginController.loggedIn}"/>
<h:outputScript library="js/common" name="forwardNotAuthorized.js" rendered="#{!loginController.admin}"/>
<ui:include src="/templates/contentViewTemplate4x3.xhtml"/>
</html>
\ No newline at end of file
<!--<?xml version='1.0' encoding='UTF-8' ?>-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html">
<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:include src="/templates/contentViewTemplate4x3.xhtml"/>
</html>
\ No newline at end of file
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
xmlns:h="http://java.sun.com/jsf/html" xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"> xmlns:f="http://xmlns.jcp.org/jsf/core">
<h:outputScript library="js/common" name="forwardNotLoggedin.js" rendered="#{!loginController.loggedIn}"/>
<h:head> <h:head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
...@@ -25,10 +25,8 @@ ...@@ -25,10 +25,8 @@
<div> <div>
<div id="topRight" class="topRightContent"> <div id="topRight" class="topRightContent">
<ui:insert name="topRight"> <ui:insert name="topRight">
<h:outputText value="Username: #{loginController.displayUsername()}"/>
<br/> <h:outputText value="Administrator" rendered="#{loginController.admin}"/>
<h:outputText value="Role: #{userSystemRoleController.displayRole(loginController.username)}"/>
</ui:insert> </ui:insert>
</div> </div>
......
...@@ -5,9 +5,11 @@ ...@@ -5,9 +5,11 @@
xmlns:p="http://primefaces.org/ui" xmlns:p="http://primefaces.org/ui"
xmlns:f="http://java.sun.com/jsf/core" xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core" xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">
template="../../templates/contentViewTemplate4x3.xhtml">
<h:outputScript library="js/common" name="forwardNotLoggedin.js" rendered="#{!loginController.loggedIn}"/>
<h:outputScript library="js/common" name="forwardNotAuthorized.js" rendered="#{!loginController.admin}"/>
<ui:composition template="../../templates/dmViewTemplate.xhtml">
<ui:define name="middleCenter"> <ui:define name="middleCenter">
<div class="pageTitle"> <div class="pageTitle">
<h1>Add Experiment</h1> <h1>Add Experiment</h1>
...@@ -25,6 +27,7 @@ ...@@ -25,6 +27,7 @@
</h:form> </h:form>
</ui:define> </ui:define>
</ui:composition>
</ui:composition> </ui:composition>
...@@ -5,9 +5,11 @@ ...@@ -5,9 +5,11 @@
xmlns:p="http://primefaces.org/ui" xmlns:p="http://primefaces.org/ui"
xmlns:f="http://java.sun.com/jsf/core" xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core" xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">
template="../../templates/contentViewTemplate4x3.xhtml">
<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:define name="middleCenter">
<h:form id="editExperimentForm"> <h:form id="editExperimentForm">
...@@ -38,6 +40,7 @@ ...@@ -38,6 +40,7 @@
<ui:include src="experimentUserRemoveDialog.xhtml" /> <ui:include src="experimentUserRemoveDialog.xhtml" />
</h:form> </h:form>
</ui:define> </ui:define>
</ui:composition>
</ui:composition> </ui:composition>
...@@ -56,12 +56,13 @@ ...@@ -56,12 +56,13 @@
<p:column headerText="Actions" > <p:column headerText="Actions" >
<div class="actionLink"> <div class="actionLink">
<p:commandLink action="#{experimentController.prepareView(experimentObject)}" styleClass="ui-icon ui-icon-info" title="View"> <p:commandLink action="#{experimentController.prepareView(experimentObject)}" styleClass="ui-icon ui-icon-info" title="View">
</p:commandLink> </p:commandLink>
<p:commandLink action="#{experimentController.prepareEdit(experimentObject)}" rendered="#{loginController.admin or experimentController.canEditExperiment(loginController.userId, experimentObject.id)}" styleClass="ui-icon ui-icon-pencil" title="Edit">
<p:commandLink action="#{experimentController.prepareEdit(experimentObject)}" rendered="#{loginController.admin or experimentController.canEditExperiment(experimentObject.id)}" styleClass="ui-icon ui-icon-pencil" title="Edit">
<f:setPropertyActionListener value="#{experimentObject}" target="#{experimentController.current}"/>
</p:commandLink> </p:commandLink>
<p:commandLink oncomplete="PF('experimentDestroyDialogWidget').show()" rendered="#{loginController.admin or experimentController.canDeleteExperiment(loginController.userId, 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.id)}" styleClass="ui-icon ui-icon-trash" title="Delete" update="@form">
<f:setPropertyActionListener value="#{experimentObject}" target="#{experimentController.current}"/> <f:setPropertyActionListener value="#{experimentObject}" target="#{experimentController.current}"/>
</p:commandLink> </p:commandLink>
</div> </div>
......
...@@ -34,8 +34,8 @@ ...@@ -34,8 +34,8 @@
widgetVar="experimentUsersEditWidget" widgetVar="experimentUsersEditWidget"
emptyMessage="No users found."> emptyMessage="No users found.">
<ui:param name="isManager" value="#{experimentController.canAddManager(loginController.userId)}" /> <ui:param name="isManager" value="#{experimentController.canAddManager()}" />
<ui:param name="isPi" value="#{experimentController.canAddPiAndUser(loginController.userId)}" /> <ui:param name="isPi" value="#{experimentController.canAddPiAndUser()}" />
<p:column sortBy="#{experimentUserObject.username}" headerText="Username" <p:column sortBy="#{experimentUserObject.username}" headerText="Username"
filterBy="#{experimentUserObject.username}" filterMatchMode="contains" > filterBy="#{experimentUserObject.username}" filterMatchMode="contains" >
...@@ -63,9 +63,10 @@ ...@@ -63,9 +63,10 @@
</p:column> </p:column>
<p:column headerText="Actions" rendered="#{isAdmin or isManager}"> <ui:param name="isEditedManager" value="#{experimentUserObject.isManager}" />
<p:column headerText="Actions" rendered="#{isAdmin or isManager or isPi}">
<div class="actionLink" > <div class="actionLink" >
<p:commandLink oncomplete="PF('experimentUserRemoveDialogWidget').show()" rendered="true" styleClass="ui-icon ui-icon-trash" title="Remove" update="@form"> <p:commandLink oncomplete="PF('experimentUserRemoveDialogWidget').show()" rendered="#{!experimentUserObject.isManager or isAdmin or isManager}" styleClass="ui-icon ui-icon-trash" title="Remove" update="@form">
<f:setPropertyActionListener value="#{experimentUserObject}" target="#{experimentController.experimentUsersEditTable.currentObject}" /> <f:setPropertyActionListener value="#{experimentUserObject}" target="#{experimentController.experimentUsersEditTable.currentObject}" />
</p:commandLink> </p:commandLink>
</div> </div>
......
...@@ -5,9 +5,10 @@ ...@@ -5,9 +5,10 @@
xmlns:p="http://primefaces.org/ui" xmlns:p="http://primefaces.org/ui"
xmlns:f="http://java.sun.com/jsf/core" xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core" xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">
template="../../templates/contentViewTemplate4x3.xhtml">
<h:outputScript library="js/common" name="forwardNotLoggedin.js" rendered="#{!loginController.loggedIn}"/>
<ui:composition template="../../templates/dmViewTemplate.xhtml">
<ui:define name="middleCenter"> <ui:define name="middleCenter">
<div class="pageTitle"> <div class="pageTitle">
<h1>Experiments</h1> <h1>Experiments</h1>
...@@ -26,4 +27,5 @@ ...@@ -26,4 +27,5 @@
</h:form> </h:form>
</ui:define> </ui:define>
</ui:composition>
</ui:composition> </ui:composition>
...@@ -5,9 +5,10 @@ ...@@ -5,9 +5,10 @@
xmlns:p="http://primefaces.org/ui" xmlns:p="http://primefaces.org/ui"
xmlns:f="http://java.sun.com/jsf/core" xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core" xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">
template="../../templates/contentViewTemplate4x3.xhtml">
<h:outputScript library="js/common" name="forwardNotLoggedin.js" rendered="#{!loginController.loggedIn}"/>
<ui:composition template="../../templates/dmViewTemplate.xhtml">
<ui:define name="middleCenter"> <ui:define name="middleCenter">
<h:form id="viewExperimentForm"> <h:form id="viewExperimentForm">
<div class="pageTitle"> <div class="pageTitle">
...@@ -30,13 +31,14 @@ ...@@ -30,13 +31,14 @@
<p/> <p/>
<div class="actionButton"> <div class="actionButton">
<p:commandButton action="#{experimentController.prepareEdit(experimentObject)}" rendered="#{loginController.admin or experimentController.canEditExperiment(loginController.userId, experimentObject.id)}" value="Edit" alt="Edit" icon="ui-icon-pencil"/> <p:commandButton action="#{experimentController.prepareEdit(experimentObject)}" rendered="#{loginController.admin or experimentController.canEditExperiment(experimentObject.id)}" value="Edit" alt="Edit" icon="ui-icon-pencil"/>
<p:commandButton action="#{experimentController.prepareList()}" value="Return" alt="Return" icon="ui-icon-arrowreturnthick-1-w"/> <p:commandButton action="#{experimentController.prepareList()}" value="Return" alt="Return" icon="ui-icon-arrowreturnthick-1-w"/>
</div> </div>
</h:form> </h:form>
</ui:define> </ui:define>
</ui:composition>
</ui:composition> </ui:composition>
......
...@@ -5,9 +5,11 @@ ...@@ -5,9 +5,11 @@
xmlns:p="http://primefaces.org/ui" xmlns:p="http://primefaces.org/ui"
xmlns:f="http://java.sun.com/jsf/core" xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core" xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">
template="../../templates/contentViewTemplate4x3.xhtml">
<h:outputScript library="js/common" name="forwardNotLoggedin.js" rendered="#{!loginController.loggedIn}"/>
<h:outputScript library="js/common" name="forwardNotAuthorized.js" rendered="#{!loginController.admin}"/>
<ui:composition template="../../templates/dmViewTemplate.xhtml">
<ui:define name="middleCenter"> <ui:define name="middleCenter">
<div class="pageTitle"> <div class="pageTitle">
<h1>Add Experiment Type</h1> <h1>Add Experiment Type</h1>
...@@ -25,6 +27,7 @@ ...@@ -25,6 +27,7 @@
</h:form> </h:form>
</ui:define> </ui:define>
</ui:composition>
</ui:composition> </ui:composition>
...@@ -5,9 +5,11 @@ ...@@ -5,9 +5,11 @@
xmlns:p="http://primefaces.org/ui" xmlns:p="http://primefaces.org/ui"
xmlns:f="http://java.sun.com/jsf/core" xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core" xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">
template="../../templates/contentViewTemplate4x3.xhtml">
<h:outputScript library="js/common" name="forwardNotLoggedin.js" rendered="#{!loginController.loggedIn}"/>
<h:outputScript library="js/common" name="forwardNotAuthorized.js" rendered="#{!loginController.admin}"/>
<ui:composition template="../../templates/dmViewTemplate.xhtml">
<ui:define name="middleCenter"> <ui:define name="middleCenter">
<h:form id="editExperimentTypeForm"> <h:form id="editExperimentTypeForm">
...@@ -27,6 +29,7 @@ ...@@ -27,6 +29,7 @@
</h:form> </h:form>
</ui:define> </ui:define>
</ui:composition>
</ui:composition> </ui:composition>
...@@ -5,9 +5,10 @@ ...@@ -5,9 +5,10 @@
xmlns:p="http://primefaces.org/ui" xmlns:p="http://primefaces.org/ui"
xmlns:f="http://java.sun.com/jsf/core" xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core" xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">
template="../../templates/contentViewTemplate4x3.xhtml">
<h:outputScript library="js/common" name="forwardNotLoggedin.js" rendered="#{!loginController.loggedIn}"/>
<ui:composition template="../../templates/dmViewTemplate.xhtml">
<ui:define name="middleCenter"> <ui:define name="middleCenter">
<div class="pageTitle"> <div class="pageTitle">
<h1>Experiment Types</h1> <h1>Experiment Types</h1>
...@@ -26,4 +27,5 @@ ...@@ -26,4 +27,5 @@
</h:form> </h:form>
</ui:define> </ui:define>
</ui:composition>
</ui:composition> </ui:composition>
...@@ -5,9 +5,10 @@ ...@@ -5,9 +5,10 @@
xmlns:p="http://primefaces.org/ui" xmlns:p="http://primefaces.org/ui"
xmlns:f="http://java.sun.com/jsf/core" xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core" xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">
template="../../templates/contentViewTemplate4x3.xhtml">
<h:outputScript library="js/common" name="forwardNotLoggedin.js" rendered="#{!loginController.loggedIn}"/>
<ui:composition template="../../templates/dmViewTemplate.xhtml">
<ui:define name="middleCenter"> <ui:define name="middleCenter">
<h:form id="viewExperimentTypeForm"> <h:form id="viewExperimentTypeForm">
...@@ -35,6 +36,7 @@ ...@@ -35,6 +36,7 @@
</h:form> </h:form>
</ui:define> </ui:define>
</ui:composition>
</ui:composition> </ui:composition>
......
...@@ -7,8 +7,8 @@ ...@@ -7,8 +7,8 @@
xmlns:p="http://primefaces.org/ui" xmlns:p="http://primefaces.org/ui"
xmlns:f="http://xmlns.jcp.org/jsf/core"> xmlns:f="http://xmlns.jcp.org/jsf/core">
<h:outputScript library="js/common" name="forwardNotLoggedin.js" rendered="#{!loginController.loggedIn}"/>
<ui:composition template="../templates/contentViewTemplate4x3.xhtml"> <ui:composition template="../templates/dmViewTemplate.xhtml">
<ui:define name="middleCenter"> <ui:define name="middleCenter">
<div class="homePage"> <div class="homePage">
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment