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 9bcffa1a57076a11b374257b2d20ef7f9c39a41e..b9c3d09ad5a62cead8bb17609c70151f0386afe5 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 d1cf44bebb3cf4a8f87c5d064ced1160e1b7db19..c1df416f955f115e535e6d28ea3f1e396e64d860 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 7bdeafa868a0ddbfd389ac0d4901fe47c3db1b4b..bcbcaac9eddbb28bc134c621b2b2eb034231534c 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 a6c939e7cee21d1e56fbea906cc44ab9c6c04a51..94a4d0feb0382dad620586fe132f29a9487620a6 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) {