diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/AbstractGenericEntityEditForm.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/AbstractGenericEntityEditForm.java index 60c37753c84050380cc5379f190bf9bba260a917..616748c1241fbab629828c8ce19cd457e458692e 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/AbstractGenericEntityEditForm.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/AbstractGenericEntityEditForm.java @@ -146,6 +146,7 @@ abstract public class AbstractGenericEntityEditForm<T extends EntityType, S exte { setEditMode(true); infoBox.reset(); + formPanel.reset(); } protected void showCheckPage() diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/AttachmentManager.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/AttachmentManager.java index 9146086b4a035e073abc1b68099994650477887b..d219cc255dfe00bc33dc78d7a34d3fe7d5410e86 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/AttachmentManager.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/AttachmentManager.java @@ -24,7 +24,7 @@ import com.extjs.gxt.ui.client.widget.form.FileUploadField; /** * Stores and manages {@link FileUploadField} fields. - * + * * @author Izabela Adamczyk */ public class AttachmentManager @@ -60,17 +60,18 @@ public class AttachmentManager return field; } - public boolean attachmentsDefined() + public int attachmentsDefined() { + int i = 0; for (FileUploadField field : attachmentFields) { Object value = field.getValue(); if (value != null && String.valueOf(value).length() > 0) { - return true; + i++; } } - return false; + return i; } private final FileUploadField createFileUploadField(final int counter) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentEditForm.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentEditForm.java index cf1a9bd56daecb0e0e8055c1fb464b97c47fc1df..19d71f0986e58957d8a830061a72e49d13b560e3 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentEditForm.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentEditForm.java @@ -22,6 +22,8 @@ import java.util.List; import com.extjs.gxt.ui.client.Events; import com.extjs.gxt.ui.client.event.ButtonEvent; import com.extjs.gxt.ui.client.event.SelectionListener; +import com.extjs.gxt.ui.client.util.Format; +import com.extjs.gxt.ui.client.widget.Html; import com.extjs.gxt.ui.client.widget.form.Field; import com.extjs.gxt.ui.client.widget.form.FileUploadField; import com.google.gwt.user.client.ui.Widget; @@ -58,6 +60,8 @@ public final class GenericExperimentEditForm private String sessionKey; + private Html attachmentsInfo; + public GenericExperimentEditForm(IViewContext<IGenericClientServiceAsync> viewContext, EditableExperiment entity, boolean editMode) { @@ -93,7 +97,7 @@ public final class GenericExperimentEditForm { if (formPanel.isValid()) { - if (attachmentManager.attachmentsDefined()) + if (attachmentManager.attachmentsDefined() > 0) { // setUploadEnabled(false); formPanel.submit(); @@ -162,13 +166,26 @@ public final class GenericExperimentEditForm protected List<Widget> getEntitySpecificCheckPageWidgets() { final ArrayList<Widget> widgets = new ArrayList<Widget>(); - + widgets.add(attachmentsInfo = new Html()); return widgets; } @Override protected void updateCheckPageWidgets() { + attachmentsInfo.setHtml(getAttachmentInfoText(attachmentManager.attachmentsDefined())); } + public String getAttachmentInfoText(int attachmentDefined) + { + if (attachmentDefined > 0) + { + return Format.substitute("Added {0} new attachment{1}.", attachmentDefined, + attachmentDefined == 1 ? "" : "s"); + + } else + { + return "No new attachments added."; + } + } } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentRegistrationForm.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentRegistrationForm.java index ecfc1afc34b7fbce5e188adf8a817a17817ca1d7..b76dc9daa3360087d29d562c5f77f28a3b38f5ef 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentRegistrationForm.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentRegistrationForm.java @@ -182,7 +182,7 @@ public final class GenericExperimentRegistrationForm { if (formPanel.isValid()) { - if (attachmentManager.attachmentsDefined()) + if (attachmentManager.attachmentsDefined() > 0) { setUploadEnabled(false); formPanel.submit();