[VUFIND-788] Enhanced and fixed getMyHolds and associated methods for Horizon Created: 18/Apr/13 Updated: 06/Aug/13 Resolved: 23/Apr/13 |
|
Status: | Resolved |
Project: | VuFind® |
Components: | ILS Driver |
Affects versions: | 1.4, 2.0beta |
Fix versions: | 1.4.1, 2.0RC1 |
Type: | New Feature | Priority: | Minor |
Reporter: | Jay Roos | Assignee: | Unassigned |
Resolution: | Fixed | Votes: | 0 |
Labels: | None | ||
Remaining Estimate: | Not Specified | ||
Time Spent: | Not Specified | ||
Original estimate: | Not Specified |
Attachments: | horizon-getMyHolds-1.x.patch horizon-getMyHolds-2.x.patch |
Description |
The attached patches add a number of columns to the getMyHolds response including reqnum, item_id, request_expire, title, publication_year and volume. It also corrects the location response which was returning the location where the request was placed. It now correctly returns the pickup location as well as returning it in descriptive form rather than code form. The enhancement also changes the way the expiration date is handled. It now falls back to the request expiration date when the hold expiration date is not available. It also shows 'In Transit' when an item is in transit because those items have no hold or request expiration date. Finally the results are sorted by availability and then title so the available items show up at the top of the list. |
Comments |
Comment by Demian Katz [ 19/Apr/13 ] |
Before I commit this, could you look into an anomaly for me? It looks like the HorizonXMLAPI driver extends the processHoldsRow() method in order to set 'item_id' to $row['BIB_NUM']. I'm not sure why we would want to use the bib# as the item#. If we remove HorizonXMLAPI::processHoldsRow, does the HorizonXMLAPI driver continue to function correctly? (I think the only things that would need to be tested would be display of holds and the "cancel hold" functionality). Let me know what you find, and I'll commit the code once I hear back. Thanks! |
Comment by Jay Roos [ 19/Apr/13 ] |
Hold off. The HorizonXMLAPI functionality is completely broken. It was created before title-level holds were available and it tried to make the item-level request link perform title-level requests. I'll get it fixed once I get through a couple more patches to the SQL driver. |
Comment by Demian Katz [ 19/Apr/13 ] |
In that case, if the existing code is broken anyway, is it easier for you if I commit these patches as-is now, or should I wait and do it all at once? |
Comment by Jay Roos [ 19/Apr/13 ] |
Holds functionality seems to be very broken in our environment. We're running Horizon Information Portal 3.22.2_6075. I've fixed it to the point where the request gets placed, but Horizon Information Portal still throws an error in the XML. |
Comment by Jay Roos [ 19/Apr/13 ] |
Ok, I fixed the holds problem in As far as I know this a go. |
Comment by Demian Katz [ 23/Apr/13 ] |
Resolved (with minor style fixes) as r6259 and: https://github.com/vufind-org/vufind/commit/de6299fff83387cd625bb3420f986bd688483f29 |