File tree Expand file tree Collapse file tree 4 files changed +9
-6
lines changed
doc/sphinx-guides/source/api
src/main/java/edu/harvard/iq/dataverse Expand file tree Collapse file tree 4 files changed +9
-6
lines changed Original file line number Diff line number Diff line change @@ -1117,7 +1117,7 @@ This endpoint expects a JSON with the following format::
11171117 "datasetFieldTypeName": "datasetFieldTypeName1",
11181118 "required": true,
11191119 "include": true,
1120- "displayOnCreate": false // Note: This setting is ignored for required fields
1120+ "displayOnCreate": null
11211121 },
11221122 {
11231123 "datasetFieldTypeName": "datasetFieldTypeName2",
@@ -1129,6 +1129,7 @@ This endpoint expects a JSON with the following format::
11291129
11301130.. note ::
11311131 Required fields will always be displayed regardless of their displayOnCreate setting, as this is necessary for dataset creation.
1132+ When displayOnCreate is null, the field's default display behavior is used.
11321133
11331134Parameters:
11341135
Original file line number Diff line number Diff line change @@ -273,14 +273,14 @@ public void setValidationFormat(String validationFormat) {
273273 * Determines whether this field type is displayed in the form when creating
274274 * the Dataset (or only later when editing after the initial creation).
275275 */
276- @ Column (name = "displayoncreate" , nullable = false )
277- private boolean displayOnCreate ;
276+ @ Column (name = "displayoncreate" , nullable = true )
277+ private Boolean displayOnCreate ;
278278
279- public boolean isDisplayOnCreate () {
279+ public Boolean isDisplayOnCreate () {
280280 return displayOnCreate ;
281281 }
282282
283- public void setDisplayOnCreate (boolean displayOnCreate ) {
283+ public void setDisplayOnCreate (Boolean displayOnCreate ) {
284284 this .displayOnCreate = displayOnCreate ;
285285 }
286286
Original file line number Diff line number Diff line change @@ -72,6 +72,7 @@ public List<MetadataBlock> listMetadataBlocksDisplayedOnCreate(Dataverse ownerDa
7272 // Predicate for displayOnCreate in the input level
7373 Predicate displayOnCreateInputLevelPredicate = criteriaBuilder .and (
7474 datasetFieldTypeInputLevelJoin .get ("datasetFieldType" ).in (metadataBlockRoot .get ("datasetFieldTypes" )),
75+ criteriaBuilder .isNotNull (datasetFieldTypeInputLevelJoin .get ("displayOnCreate" )),
7576 criteriaBuilder .isTrue (datasetFieldTypeInputLevelJoin .get ("displayOnCreate" )));
7677
7778 // Predicate for required fields
@@ -82,6 +83,7 @@ public List<MetadataBlock> listMetadataBlocksDisplayedOnCreate(Dataverse ownerDa
8283 // Predicate for default displayOnCreate (when there is no input level)
8384 Predicate defaultDisplayOnCreatePredicate = criteriaBuilder .and (
8485 criteriaBuilder .not (criteriaBuilder .exists (inputLevelSubquery )),
86+ criteriaBuilder .isNotNull (datasetFieldTypeJoin .get ("displayOnCreate" )),
8587 criteriaBuilder .isTrue (datasetFieldTypeJoin .get ("displayOnCreate" )));
8688
8789 Predicate unionPredicate = criteriaBuilder .or (
Original file line number Diff line number Diff line change @@ -551,7 +551,7 @@ public static String getDataverseLangDirectory() {
551551 */
552552 @ POST
553553 @ Path ("/setDisplayOnCreate" )
554- public Response setDisplayOnCreate (@ QueryParam ("datasetFieldType" ) String datasetFieldTypeIn , @ QueryParam ("setDisplayOnCreate" ) boolean setDisplayOnCreateIn ) {
554+ public Response setDisplayOnCreate (@ QueryParam ("datasetFieldType" ) String datasetFieldTypeIn , @ QueryParam ("setDisplayOnCreate" ) Boolean setDisplayOnCreateIn ) {
555555 DatasetFieldType dft = datasetFieldService .findByName (datasetFieldTypeIn );
556556 if (dft == null ) {
557557 return error (Status .NOT_FOUND , "Cound not find a DatasetFieldType by looking up " + datasetFieldTypeIn );
You can’t perform that action at this time.
0 commit comments