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

No commit message

No commit message
parent 9e50dded
No related branches found
No related tags found
No related merge requests found
Showing with 63 additions and 36 deletions
......@@ -195,11 +195,17 @@ public abstract class CrudEntityController<EntityType extends CloneableEntity, F
current = updatedEntity;
return view();
}
catch (DmPortalException | RuntimeException ex) {
catch (DmPortalException ex) {
SessionUtility.addErrorMessage("Error", "Could not update " + getDisplayEntityTypeName() + ": " + ex.getMessage());
return null;
}
catch (RuntimeException ex) {
SessionUtility.addErrorMessage("Error", "Could not update " + getDisplayEntityTypeName() + ": " + getObjectAlreadyExistMessage(current));
return null;
}
}
abstract protected String getObjectAlreadyExistMessage(EntityType entity);
public void destroy(EntityType entity) {
current = entity;
......
......@@ -65,29 +65,36 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper
@Override
public void prepareEntityInsert(Experiment experiment) throws ObjectAlreadyExists, InvalidDate, MissingProperty {
verifyExperiment(experiment);
logger.debug("Inserting new experiment " + experiment.getName());
Experiment existingExperiment = experimentFacade.findByName(experiment.getName());
if (existingExperiment != null) {
throw new ObjectAlreadyExists("Experiment " + experiment.getName() + " already exists.");
}
verifyExperiment(experiment);
logger.debug("Inserting new experiment " + experiment.getName());
}
@Override
public void prepareEntityUpdate(Experiment experiment) throws ObjectAlreadyExists, InvalidDate, MissingProperty {
public void prepareEntityUpdate(Experiment experiment) throws DmPortalException {
verifyExperiment(experiment);
logger.debug("Updating experiment " + experiment.getName());
}
private void verifyExperiment(Experiment experiment) throws ObjectAlreadyExists, InvalidDate, MissingProperty {
Experiment existingExperiment = experimentFacade.findByName(experiment.getName());
if (existingExperiment != null) {
throw new ObjectAlreadyExists("Experiment " + experiment.getName() + " already exists.");
@Override
protected String getObjectAlreadyExistMessage(Experiment experiment) {
if (experiment == null)
return null;
return "Experiment " + experiment.getName() + " already exists.";
}
private void verifyExperiment(Experiment experiment) throws InvalidDate, MissingProperty {
if (experiment.getExperimentType() == null) {
throw new MissingProperty("Experiment Type is missing.");
}
if ((experiment.getStartDate() != null) && (experiment.getEndDate() != null) && (experiment.getEndDate().before(experiment.getStartDate()))) {
throw new InvalidDate("Experiment end date is before start date.");
}
if (experiment.getExperimentType() == null) {
throw new MissingProperty("Experiment Type is missing.");
}
}
......
......@@ -72,12 +72,14 @@ public class ExperimentTypeController extends CrudEntityController<ExperimentTyp
@Override
public void prepareEntityUpdate(ExperimentType experimentType) throws DmPortalException {
ExperimentType existingExperimentType = experimentTypeFacade.findByName(experimentType.getName());
if (existingExperimentType != null) {
throw new ObjectAlreadyExists("Experiment type " + experimentType.getName() + " already exists.");
}
}
@Override
protected String getObjectAlreadyExistMessage(ExperimentType experimentType) {
if (experimentType == null)
return null;
return "Experiment Type " + experimentType.getName() + " already exists.";
}
@FacesConverter(forClass = ExperimentType.class)
public static class ExperimentTypeControllerConverter implements Converter
......
......@@ -150,10 +150,6 @@ public class LoginController implements Serializable
}
}
public String displayRole() {
return "User";
}
public boolean isUserWriteable(UserInfo user) {
if (!isLoggedIn()) {
return false;
......
......@@ -4,7 +4,6 @@ import gov.anl.aps.dm.portal.exceptions.DmPortalException;
import gov.anl.aps.dm.portal.exceptions.ObjectAlreadyExists;
import gov.anl.aps.dm.portal.model.beans.RoleTypeFacade;
import gov.anl.aps.dm.portal.model.entities.RoleType;
import gov.anl.aps.dm.portal.utilities.SessionUtility;
import java.util.ArrayList;
import java.util.List;
import javax.ejb.EJB;
......@@ -77,12 +76,16 @@ public class RoleTypeController extends CrudEntityController<RoleType, RoleTypeF
@Override
public void prepareEntityUpdate(RoleType roleType) throws DmPortalException {
RoleType existingRoleType = roleTypeFacade.findByName(roleType.getName());
if (existingRoleType != null) {
throw new ObjectAlreadyExists("Role Type " + roleType.getName() + " already exists.");
}
}
@Override
protected String getObjectAlreadyExistMessage(RoleType roleType) {
if (roleType == null)
return null;
return "Role Type " + roleType.getName() + " already exists.";
}
public boolean isRoleSystemType(String name) {
if (name == null) {
logger.warn("Current row is not set");
......
package gov.anl.aps.dm.portal.controllers;
import gov.anl.aps.dm.portal.exceptions.DmPortalException;
import gov.anl.aps.dm.portal.exceptions.InvalidDate;
import gov.anl.aps.dm.portal.exceptions.MissingProperty;
import gov.anl.aps.dm.portal.exceptions.ObjectAlreadyExists;
import gov.anl.aps.dm.portal.model.entities.UserInfo;
import gov.anl.aps.dm.portal.model.beans.UserInfoFacade;
import gov.anl.aps.dm.portal.model.entities.Experiment;
import gov.anl.aps.dm.portal.utilities.SessionUtility;
import java.util.ArrayList;
import java.util.List;
import javax.ejb.EJB;
......@@ -79,18 +75,21 @@ public class UserInfoController extends CrudEntityController<UserInfo, UserInfoF
}
@Override
public void prepareEntityUpdate(UserInfo user) throws ObjectAlreadyExists {
public void prepareEntityUpdate(UserInfo user) throws DmPortalException {
if (passwordEntry != null && !passwordEntry.isEmpty()) {
user.setPassword(passwordEntry);
}
passwordEntry = null;
}
UserInfo existingUserInfo = userInfoFacade.findByUsername(user.getUsername());
if (existingUserInfo != null) {
throw new ObjectAlreadyExists("User " + user.getUsername() + " already exists.");
}
@Override
protected String getObjectAlreadyExistMessage(UserInfo user) {
if (user == null)
return null;
return "User " + user.getUsername() + " already exists.";
}
public String prepareSessionUserEdit(String viewPath) {
UserInfo sessionUser = (UserInfo) SessionUtility.getUser();
if (sessionUser == null) {
......
......@@ -128,6 +128,20 @@ public class UserSystemRoleController implements Serializable
return rt.isAdmin(user);
}
public String displayRole(String user) {
// for now this method returns "Administrator" if user has this role, and "User" otherwise
RoleType rt = roleTypeFacade.findById(1);
if (rt == null) {
return null;
}
if (rt.isAdmin(user)) {
return "Administrator";
}
else {
return "User";
}
}
public String prepareSystemRoleView() {
logger.debug("Preparing system role view");
noSystemRoleTable.resetList();
......
......@@ -28,7 +28,7 @@
<h:outputText value="Username: #{loginController.displayUsername()}"/>
<br/>
<h:outputText value="Role: #{loginController.displayRole()}"/>
<h:outputText value="Role: #{userSystemRoleController.displayRole(loginController.username)}"/>
</ui:insert>
</div>
......
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