diff --git a/NEWS.md b/NEWS.md index a62787c..add0589 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,7 @@ +## 1.15.4 2024-11-12 +* Add new configuration options +* Make sure default values are used + ## 1.15.4 2024-11-11 * Update documentation * Clean configuration diff --git a/descriptors/ModuleDescriptor-template.json b/descriptors/ModuleDescriptor-template.json index 010e352..664fd32 100644 --- a/descriptors/ModuleDescriptor-template.json +++ b/descriptors/ModuleDescriptor-template.json @@ -54,7 +54,8 @@ "accounts.item.post", "circulation.requests.item.get", "circulation.requests.item.put", - "note.types.collection.get" + "note.types.collection.get", + "circulation.loans.add-info.post" ] }, { diff --git a/pom.xml b/pom.xml index 5bdde56..3906f37 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 org.folio mod-ncip - 1.15.5-SNAPSHOT + 1.15.6-SNAPSHOT NCIP NCIP responder for FOLIO (internal module) diff --git a/src/main/java/org/folio/ncip/FolioRemoteServiceManager.java b/src/main/java/org/folio/ncip/FolioRemoteServiceManager.java index b241366..f7cd202 100644 --- a/src/main/java/org/folio/ncip/FolioRemoteServiceManager.java +++ b/src/main/java/org/folio/ncip/FolioRemoteServiceManager.java @@ -497,6 +497,11 @@ public JsonObject acceptItem(AcceptItemInitiationData initData, UserId userId, S throw new FolioNcipException(Constants.REQUEST_ID_MISSING); } + String callNumber = null; + if (initData.getItemOptionalFields() != null && initData.getItemOptionalFields().getItemDescription() != null) { + callNumber = initData.getItemOptionalFields().getItemDescription().getCallNumber(); + } + // VALIDATE PICKUP LOCATION String pickUpLocationCode = initData.getPickupLocation().getValue(); String sPointId = getServicePointId(pickUpLocationCode, baseUrl); @@ -547,7 +552,8 @@ public JsonObject acceptItem(AcceptItemInitiationData initData, UserId userId, S item.put(Constants.ID, itemUuid.toString()); item.put(Constants.HOLDINGS_RECORD_ID, holdingsUuid.toString()); item.put("discoverySuppress", true); - item.put("itemLevelCallNumber", itemId.getItemIdentifierValue()); + + item.put("itemLevelCallNumber", StringUtils.isNotBlank(callNumber) ? callNumber : itemId.getItemIdentifierValue()); // PLACE HOLD DOES NOT WORK UNLESS THE ITEM HAS A PERM LOCATION JsonObject permLocation = new JsonObject(); permLocation.put(Constants.ID, itemLocation);