You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
Version 1
Next »
CIRC-441
-
Getting issue details...
STATUS
The goal of the spike is to investigate the process of adding new tokens to delivery slips
1. How existing tokens are added to delivery slip:
"POST circulation/check-in-by-barcode" endpoint returns "staffSlipContext" attributes in response:
"staffSlipContext": {
"item": {
"title": "Bridget Jones's Baby: the diaries",
"barcode": "453987605438",
"status": "In transit",
"primaryContributor": null,
"allContributors": "Fielding, Helen",
"callNumber": "PR6056.I4588 B749 2016",
"callNumberPrefix": null,
"callNumberSuffix": null,
"enumeration": null,
"volume": null,
"chronology": null,
"yearCaption": "",
"materialType": "book",
"loanType": "Course reserves",
"copy": "Copy 1",
"numberOfPieces": "1",
"descriptionOfPieces": null,
"effectiveLocationSpecific": "Main Library",
"effectiveLocationLibrary": "Datalogisk Institut",
"effectiveLocationCampus": "City Campus",
"effectiveLocationInstitution": "Københavns Universitet",
"fromServicePoint": "Online",
"toServicePoint": "Circ Desk 1"
},
"request": {
"requestID": "be0355f5-6920-4065-8e4f-619c54de6891",
"servicePointPickup": "Circ Desk 1"
},
"requester": {
"firstName": "Penelope",
"lastName": "Feil",
"middleName": "Myrna",
"barcode": "109322966933845"
}
}
UI uses this object to replace delivery slip tokens with data when printing delivery slip.
mod-circulation constructs staffSlipContext in method TemplateContextUtil#createCheckInContext by using available data (data is stored in object CheckInProcessRecords).
Before constructing staffSlipContext mod-circulation retrieves all necessary data by making calls to other services in CheckInByBarcodeResource#checkin.
2. How to add new slip tokens
If data for new token is already available in CheckInProcessRecords then we just need to transfer it to staffSlipContext in CheckInByBarcodeResource#checkin.
If data is not available then we need to retrieve it from corresponding service, store it in CheckInProcessRecords, and then add it to staffSlipContext in CheckInByBarcodeResource#checkin