From df7af816bc4c53b2e6f17f3a478c8ece2e510a52 Mon Sep 17 00:00:00 2001 From: buczekp <buczekp> Date: Mon, 19 Oct 2009 07:41:17 +0000 Subject: [PATCH] [LMS-1232] binded visibility of parent and container fields in sample registration/edition forms with sample type hierarchy depths SVN: 12995 --- .../client/application/ClientPluginFactory.java | 14 +++++++------- .../AbstractGenericSampleRegisterEditForm.java | 12 ++++++++++++ .../application/sample/GenericSampleEditForm.java | 1 + .../sample/GenericSampleRegistrationForm.java | 2 -- 4 files changed, 20 insertions(+), 9 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/client/web/client/application/ClientPluginFactory.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/client/web/client/application/ClientPluginFactory.java index 9bcffa1a570..b9c3d09ad5a 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/client/web/client/application/ClientPluginFactory.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/client/web/client/application/ClientPluginFactory.java @@ -131,11 +131,11 @@ public final class ClientPluginFactory extends AbstractClientPluginFactory<IDemo } public final DatabaseModificationAwareWidget createRegistrationForEntityType( - final SampleType sampleTypeCode) + final SampleType sampleType) { GenericSampleRegistrationForm form = new GenericSampleRegistrationForm(new GenericViewContext(getViewContext() - .getCommonViewContext()), sampleTypeCode); + .getCommonViewContext()), sampleType); return new DatabaseModificationAwareWidget(form, form); } @@ -194,9 +194,9 @@ public final class ClientPluginFactory extends AbstractClientPluginFactory<IDemo return DefaultTabItem.createUnaware(identifier, component, false); } -// @Override -// public IModule tryGetModule() -// { -// return new DemoModule(getViewContext()); -// } + // @Override + // public IModule tryGetModule() + // { + // return new DemoModule(getViewContext()); + // } } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/AbstractGenericSampleRegisterEditForm.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/AbstractGenericSampleRegisterEditForm.java index d1cf44bebb3..c1df416f955 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/AbstractGenericSampleRegisterEditForm.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/AbstractGenericSampleRegisterEditForm.java @@ -61,6 +61,8 @@ abstract public class AbstractGenericSampleRegisterEditForm extends public static final String ID_SUFFIX_EXPERIMENT = "experiment"; + protected SampleType sampleType; // used for container and parent field visibility + protected AttachmentsFileFieldManager attachmentsManager; protected String attachmentsSessionKey; @@ -196,6 +198,7 @@ abstract public class AbstractGenericSampleRegisterEditForm extends } }); redefineSaveListeners(); + setContainerAndParentVisibility(sampleType); } protected final String createSampleIdentifier() @@ -212,4 +215,13 @@ abstract public class AbstractGenericSampleRegisterEditForm extends return builder.toString().toUpperCase(); } + /** sets visibility of container and parent fields dependent on sample type */ + private final void setContainerAndParentVisibility(final SampleType sampleType) + { + boolean showContainer = sampleType.getContainerHierarchyDepth() > 0; + boolean showParent = sampleType.getGeneratedFromHierarchyDepth() > 0; + container.getField().setVisible(showContainer); + parent.getField().setVisible(showParent); + } + } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleEditForm.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleEditForm.java index 7bdeafa868a..bcbcaac9edd 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleEditForm.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleEditForm.java @@ -109,6 +109,7 @@ public final class GenericSampleEditForm extends AbstractGenericSampleRegisterEd private void setOriginalSample(Sample sample) { this.originalSample = sample; + this.sampleType = sample.getSampleType(); } @Override diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleRegistrationForm.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleRegistrationForm.java index a6c939e7cee..94a4d0feb03 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleRegistrationForm.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/sample/GenericSampleRegistrationForm.java @@ -35,8 +35,6 @@ import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.IGenericClientS */ public final class GenericSampleRegistrationForm extends AbstractGenericSampleRegisterEditForm { - private final SampleType sampleType; - public GenericSampleRegistrationForm( final IViewContext<IGenericClientServiceAsync> viewContext, final SampleType sampleType) { -- GitLab