pre-cat checkouts always use "default" rule

Bug #954263 reported by Shae on 2012-03-13
This bug affects 5 people
Affects Status Importance Assigned to Milestone

Bug Description

This was reported to me by a site using version 2.1.1 and I also tested on an in house 2.1.0 system. When checking out a pre-cat title, I select the circ mod of Book. I would expect that it would use the circulation rule for Books from the circ matrix. Instead, it always seems to use the "default" circ duration rule no matter what specific circulation rules exist in the circ matrix and no matter what circ modifier I choose when doing the pre-cat check out. In speaking with Jason, it sounded like this is not the intention and that it should be using the circulation matrix to determine the circ rule for each pre-cat item. Here are the steps I took and the text from an error I received.

1. I have a circ matrix in place that has a general rule (uses "default" as the duration). That's for all users and all circ mods. There are also lines in the circ matrix specifically for Books and Videos. The circ duration rule varies from the "default" circ duration.

2. I go to check out to a patron and enter a barcode not in the system.

3. I choose to check out as a pre-cat.

4. I enter title and author info and select the circ mod of Book.

5. The book is checked out. When I look at the item details, it shows that it's using the "default" circ rule and "default" fine rules even though there was a specific duration and fine rule for Books being checked out.

6. In an effort to force the system to use the specific rules, I tried disabling the default line in the circ matrix. I get the following error message which tells me that the system seriously wants the default rule available to use for pre-cats:

Network or server failure. Please check your Internet connection to and choose Retry Network. If you need to enter Offline Mode, choose Ignore Errors in this and subsequent dialogs. If you believe this error is due to a bug in Evergreen and not network problems, please contact your help desk or friendly Evergreen administrators, and give them this information:
params=["20373626b0fedb05c9142da19fb39dcb",{"barcode":"0986543456789","patron":1463,"permit_key":{"fail_part":"no_item"},"dummy_title":"Hunger Games","dummy_author":"","dummy_isbn":"","circ_modifier":"Book","precat":1},0]
{"payload":[],"debug":"osrfMethodException : *** Call to [open-ils.circ.checkout.full] failed for session [1331659919.524358.133165991924421], thread trace [1]:\nCan't call method \"duration_rule\" on an undefined value at /usr/local/share/perl/5.10.1/OpenILS/Application/Circ/ line 1755.\n\n","status":500}

7. I click Ignore errors and I get another error that says "network failure" and I click OK. The check out did not occur.

Let me know if you need more info about where I replicated this problem. Thank you for checking into this.


Revision history for this message
Michael Peters (mrpeters) wrote :


I can't speak to the network error you receive, but I can confirm that Pre-cat does indeed use it's own duration rule when using legacy circ scripts.

We have a rule that says to treat all pre-cat's like vanilla books. I've pasted a copy of our scripts below, showing this.;a=blob;f=Open-ILS/src/javascript/backend/circ/circ_duration.js;h=a7460690e76116f5999290cce8fc1090d14111cf;hb=53afc2c5109abf637d8cf51877c6915c3c655b39

I know legacy circ is kind of a nasty subject, but I would agree with you that the behavior is as you describe.

I know folks here would LOVE the ability to have the pre-cat circ modifier apply to the circulation. We've had to create policy specifically for pre-cat items so they had their own standard circ rules since we couldn't make this happen.


Changed in evergreen:
status: New → Confirmed
Revision history for this message
Thomas Berezansky (tsbere) wrote :

The network errors there indicate that the pre-cat items aren't making it into the database for some reason. Are Bib and Call Number entries with id -1 still there?

As for Circ Modifiers, INDB checks work for pre-cat items with circ modifiers. HOWEVER, there are catches.

Pre-cat items have no marc type, marc form, marc vr format, etc and as such rules that specify them will not match.

Pre-cat items are "owned" by the consortia, so the Item Owning Library being set anywhere else will cause rules to not match.

Revision history for this message
Erica Rohlfs (erohlfs) wrote :

In EG version 2.6.3, I am seeing the behavior as Thomas describes.

For the system that I'm working in, establishing circulation rules for the ILL circ mod and omitting the Copy Owning Library will cause the rules to match for a particular branch as expected. However, I have not performed further, more extensive testing to see whether other libraries bump up against this particular policy or will follow the more general, default policy.

Erica Rohlfs (erohlfs) on 2015-12-14
Changed in evergreen:
importance: Undecided → Medium
Elaine Hardy (ehardy) on 2019-03-07
tags: added: checkout
Revision history for this message
Rogan Hamby (rogan-hamby) wrote :

Since the last update on this was in 2.6 I checked and it is still occurring on 3.4, so still current.

Revision history for this message
Terran McCanna (tmccanna) wrote :

In 3.6.1:

We have noticed that pre-cats also ignore blocks on patron accounts that a normal circ would recognize (for instance, if a patron has a block for too many fines). My assumption is that this is related to the same underlying problem.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers