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 27b36ab332bff03baa408ac0fbc4834891ec80fe..e3cf4ade956a26eb30c2548e0424db30a6a9c20e 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 @@ -356,6 +356,8 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper boolean initialized = false; private List<MissingPolicyType> missingPolicyTypes = new ArrayList<>(); private final Map<Integer, String> experimentPropertiesMap = new HashMap<>(); + private List<String> notEditableTypes = new ArrayList<>(); + { notEditableTypes.add("ESAF"); } public ExperimentController() { } @@ -904,6 +906,10 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper public void setExperimentPropertyToDelete(ExperimentPolicyPropertyValue experimentPropertyToDelete) { this.experimentPropertyToDelete = experimentPropertyToDelete; } + + public boolean isEditable() { + return notEditableTypes.contains(current.getExperimentType().getName()); + } @FacesConverter(forClass = Experiment.class) public static class ExperimentControllerConverter implements Converter { diff --git a/src/java/DmWebPortal/web/views/experiment/private/experimentEditPanelGrid.xhtml b/src/java/DmWebPortal/web/views/experiment/private/experimentEditPanelGrid.xhtml index d5a26b476b6f74bf94c5181a7193c77cdf890cc9..a8c8ab409eeaa2657170370baf58b14592033181 100644 --- a/src/java/DmWebPortal/web/views/experiment/private/experimentEditPanelGrid.xhtml +++ b/src/java/DmWebPortal/web/views/experiment/private/experimentEditPanelGrid.xhtml @@ -3,9 +3,11 @@ <ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:p="http://primefaces.org/ui" - xmlns:ui="http://xmlns.jcp.org/jsf/facelets"> + xmlns:ui="http://xmlns.jcp.org/jsf/facelets" + xmlns:f="http://xmlns.jcp.org/jsf/core"> <ui:param name="experimentObject" value="#{experimentController.current}"/> + <ui:param name="isEditable" value="#{!experimentController.isEditable()}"/> <p:panelGrid columns="2" > @@ -16,13 +18,20 @@ <h:outputText id="experimentType" value="#{experimentObject.experimentType.name}" title="Name" styleClass="entityDataText"/> <h:outputLabel for="description" value="Description" styleClass="entityDataLabel"/> - <h:inputText id="description" value="#{experimentObject.description}" title="Description" styleClass="entityDataInputText"/> + <h:inputText id="description" rendered="#{isEditable}" value="#{experimentObject.description}" title="Description" styleClass="entityDataInputText"/> + <h:outputText id="description1" rendered="#{!isEditable}" value="#{experimentObject.description}" title="Description" styleClass="entityDataText"/> <h:outputLabel for="startDate" value="Start Date" styleClass="entityDataLabel"/> - <p:calendar id="startDate" value="#{experimentObject.startDate}" mode="popup" showOn="button" pattern="#{resources.DateTimePattern}" /> + <p:calendar id="startDate" rendered="#{isEditable}" value="#{experimentObject.startDate}" mode="popup" showOn="button" pattern="#{resources.DateTimePattern}" /> + <h:outputText id="startDate1" rendered="#{!isEditable}" value="#{experimentObject.startDate}" styleClass="entityDataText"> + <f:convertDateTime pattern="#{resources.DateTimeZonePattern}" type="both" timeZone="#{resources.Timezone}" /> + </h:outputText> <h:outputLabel for="endDate" value="End Date" styleClass="entityDataLabel"/> - <p:calendar id="endDate" value="#{experimentObject.endDate}" mode="popup" showOn="button" pattern="#{resources.DateTimePattern}" /> + <p:calendar id="endDate" rendered="#{isEditable}" value="#{experimentObject.endDate}" mode="popup" showOn="button" pattern="#{resources.DateTimePattern}" /> + <h:outputText id="endDate1" rendered="#{!isEditable}" value="#{experimentObject.endDate}" styleClass="entityDataText"> + <f:convertDateTime pattern="#{resources.DateTimeZonePattern}" type="both" timeZone="#{resources.Timezone}" /> + </h:outputText> </p:panelGrid>