On Sun, Jul 27, 2008 at 8:52 AM, Bill Erickson <[EMAIL PROTECTED]> wrote: > On Saturday 26 July 2008 10:52 Mike Rylander wrote: [snip] >> >> * The config.rule_max_fine table gets a new boolean column called >> is_percent which defaults to false >> * The IDL (and, for good measure, the storage server's ancient >> equivelant) is taught about this new field >> * OpenILS::Circ::Circulate::build_checkout_circ_object inspects this >> field on the chosen rule for truthiness, and finding a positive >> result: >> - gets the item price from the copy and >> - if that's null (not allowed yet, but will be in 1.4) attempts to >> find an org_unit-appropriate default item price (also used for LOST >> fee) >> - or, if price == 0 and the "charge default on 0-price" org unit >> setting is true, attempts to find an org_unit-appropriate default item >> price (also used for LOST fee) >> - and now, having found an appropriate full price for the item, >> interprets the max fine amount as a percentage value, scaling the full >> price as specified >> - and finally, uses that amount as the max fine amount, instead of a >> specific value >> [snip] > > > I think it's a great addition. I eyeballed the patch and it looks good. > (comment: instead of redefining isTrue, we can use $U->isTrue). > > One addition to consider is adding an org-setting cache (just a local data > structure) for default item price and charge-on-0 to reduce network calls. > That can come later, though. >
Next question is ... how far back do we backport this. I would lobby for 1.2.3.0, but not to strongly. -- Mike Rylander | VP, Research and Design | Equinox Software, Inc. / The Evergreen Experts | phone: 1-877-OPEN-ILS (673-6457) | email: [EMAIL PROTECTED] | web: http://www.esilibrary.com
