Galen Charlton [Thu, 6 Oct 2011 18:57:38 +0000 (14:57 -0400)]
fix authentication failure
Ensure that the auth_limit values are read when open-ils.auth
initializes, not during oilsAuthInit(). This solves a problem
observed on brick-based setups where authentication could
incorrectly fail because the drone that processes
open-ils.auth.authenticate.complete didn't have the the block
count value initialized yet.
Also fixed type nit when compare the fail count to the block
limit.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Amount of time seed is valid
Amount of time to keep failure count in memcache since last auth event
Number of failures before locking out auth attempts
Also, remove seed from memcache once it has been used once.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Bill Erickson <berick@esilibrary.com>
miker [Tue, 29 Mar 2011 17:00:08 +0000 (17:00 +0000)]
Patch from Brandon Uhlman addressing SIP2 unavailable holds display.
The unavail_holds() function in OpenILS::SIP::Patron is a placeholder that returns an empty set, instead of an actual list of a patrons' holds not cur
rently ready for pickup.
When an SC determines whether a patron has holds ready for pickup by comparing the cardinalities of hold_items() and unavail_holds() [*] using the exi
sting unavail_holds() logic, it effectively reports every currently placed hold as ready for pickup, which is generally not true.
The attached patch assumes that unavailable holds are those that meet one of two sets of conditions:
- hold requests that are not cancelled (cancel_time = null), not fulfilled (fulfillment time = null), and not captured (capture_time = null)
- hold requests that are neither cancelled nor fulfilled (as above), are captured (capture_time != null), and for which, additionally, the current_cop
y does not have the status 'On holds shelf' (status = 8). The only items that should meet this condition are those that are in transit to a location w
here they will be added to the holds shelf.
The patch iterates through the items meeting each condition, and adds them to a master list of relevant holds, which it then processes (in the same wa
y that hold_items is processed) and returns.
This patch was developed against and tested on rel_1_6_0 from SVN (~ 1.6.0.2), but should apply cleanly against current rel_1_6_0 and trunk; OpenSRF 1
.2.2, PostgreSQL 8.3.8, Ubuntu Hardy 64-bit.
[*] The two cardinalities are returned by SIP message 64 as fixed-length integers in positions 35-38 and 55-58 respectively, so we don't need to itera
te through the list ourseles.
dbs [Wed, 9 Mar 2011 19:18:12 +0000 (19:18 +0000)]
Draw pre-cataloged items (author and title) in My Account checkedout screen
Two problems: FETCH_MODS_FROM_COPY returns an object, so we weren't
getting to the point of fetching the raw copy itself, and there was
some confusion about pre-cataloged vs. non-cataloged items that is
hopefully straightened out now.
dbs [Mon, 7 Mar 2011 15:15:49 +0000 (15:15 +0000)]
Fix cloning of AutoField widgets: LP #728055
Cloning Action/Trigger event definitions was not working properly, as
all values were being copied from the original object using their display
strings rather than the underlying values.
Bill Erickson suggested a fix in IRC that works, so full credit to him
for this change!
dbs [Wed, 23 Feb 2011 02:17:46 +0000 (02:17 +0000)]
Correct the install location for Dojo i18n bundles
We had been converting xx-YY into xx/yy for a directory structure,
but current evidence shows that it should be xx-yy. Hard to believe
we've overlooked this for so long. Also, with the exception of the
en-ca/en-gb/en-us locales, we should probably trim the locale to
just xx - but that's a different problem, and let's just focus on
getting this working to begin with.
senator [Thu, 17 Feb 2011 20:58:28 +0000 (20:58 +0000)]
Backport r19470 from trunk
Booking: fix the targeter in the I'm-reserving-this-exact-resource-with-this-
exact-barcode case.
It should have always worked like this. This should better mirror the behavior
in the holds targeter when placing a copy-level hold. Basically don't fail
to target a resource for a reservation later just because it's not in an
available status right at this moment.
dbs [Fri, 11 Feb 2011 21:59:16 +0000 (21:59 +0000)]
Normalize ISBNs by stripping hyphens in search methods and in reporter.materialized_simple_record
We weren't normalizing ISBNs in search or in reporter.materialized_simple_record
which required users to exactly match the form of the ISBN as entered in the
MARC record to get a successful search result - pretty hit or miss.
The longer term fix in 2.0 and above is to make the ISBN search search against
the identifier|isbn index, which also gets ISBN10/ISBN13 equivalence goodness.
But this patch will be relatively easy to backport through to 1.6.1 and plugs
some of the holes in our exposed APIs and search points in the short term.
erickson [Wed, 9 Feb 2011 18:28:59 +0000 (18:28 +0000)]
allow item status update if either status-specific perm is allowed or UPDATE_COPY is allowed. fire off related A/T events after the initial transaction has been committed
senator [Wed, 19 Jan 2011 21:55:14 +0000 (21:55 +0000)]
Backport r19214 from trunk
Booking: Robert Soulliere spotted and fixed a bug in processing reservation-
related overdue fines. See https://bugs.launchpad.net/evergreen/+bug/705061
phasefx [Wed, 19 Jan 2011 20:05:13 +0000 (20:05 +0000)]
some interfaces (or at least org_unit_settings.js) was not infering the identifier value here. This helps the filtering org select dijit in that interface
miker [Wed, 19 Jan 2011 19:54:36 +0000 (19:54 +0000)]
Build and flatten a tree, correcting a sorting issue in some OU dropdowns.
The previous code assumed that work org units would be delivered in hierarchical order, but alas, they are not. Thus, we build the hierarchy and then flatten it, sorting at each level.
This will be non-fast with many work OUs, but the common case is a small set, which is not painful.
Further improvement is warranted when the above proves false.
dbs [Fri, 14 Jan 2011 03:02:19 +0000 (03:02 +0000)]
Enable truncation attribute in Z39.50 queries to be left out entirely
Per https://bugs.launchpad.net/evergreen/+bug/702695, some Z39.50
servers hate the truncation attribute (@attr 5=anything) and always
return 0 hits.
This gives you the ability to specify a negative value for the
truncation attribute and thereby prevent the truncation attribute
from being included in the Z39.50 query for a given server.
miker [Fri, 10 Dec 2010 17:21:09 +0000 (17:21 +0000)]
Patch from James Fournie to address https://bugs.launchpad.net/evergreen/+bug/622908 wherein we learn that related item physical description might be used as the main PD of the main item, if the main item lacks such a field in the MARC
dbs [Thu, 9 Dec 2010 04:45:29 +0000 (04:45 +0000)]
Enable Ingest to ingest multiple located URIs for a single org-unit at once
Previous logic incorrectly restricted a given bib record to have one located
URI per org-unit - unless you reingested it multiple times, each time adding
one more URI per org-unit.
We also add the strict pragma and adjust some syntax accordingly.
senator [Fri, 3 Dec 2010 15:29:38 +0000 (15:29 +0000)]
Be consistent with a misspelled field. Credit to Robert Soulliere for pointing
out my mistaken understanding of where this was already fixed and where it
wasn't.
senator [Thu, 2 Dec 2010 21:16:39 +0000 (21:16 +0000)]
Belated backport of r18688 from trunk
Booking: fix bug reported by Robert Soulliere wherein the items associated
with picked-up reservations didn't actually get their status set to 'checked
out' like they should have.
Robert reported this bug on Launchpad (#672748) and provided a patch, but
there were some neighboring bugs in the circulation logic anyway, so they've
all been fixed together.
Update: Robert and I aren't yet actually certain whether this fixed the problem
when using legacy circ scripts. Investigation continues on Launchpad.
senator [Tue, 30 Nov 2010 15:53:18 +0000 (15:53 +0000)]
Backport some booking related commits from trunk.
r17563: Booking: stop the "new resource type" dialog from executing a naughty
query
The dialog will no longer offer a field for selecting a bibliographic record,
but then again you wouldn't need it. Bibliographically-based resource types
can be set up through a context menu option in the staff OPAC browser, whereas
this interface is only suited to non-bib-based resource types, like meeting
rooms, laptops, etc.
--
r17980: more transaction cleanups
--
r18502: Booking: make the circ module avoid booking code if the booking service
isn't up
Previously, it was not possible to turn the booking service off and have
working circ. Now you should be able to turn it off if you don't need it.
--
r18514: If we already know we're not using booking, skip a redundant and
expensive test for the possibility of capturing a hold. We're just going to
try actually doing it a little farther down.
--
r18580: Patch from Steve Callender to address a booking-related collection
agency reporting problem
dbs [Mon, 15 Nov 2010 22:32:04 +0000 (22:32 +0000)]
asset.uri needs a seed entry for queries of its ID values
To fix a problem with ingesting URIs, Ingest.pm was changed to reflect
the maximum asset.uri.id value rather than the asset.call_number.id
value. However, with no entries in asset.uri, the query returned a
NULL object which broke ingest entirely. Adding a seed entry avoids
this problem.
gmc [Wed, 10 Nov 2010 13:30:39 +0000 (13:30 +0000)]
do not use TRUNCATE when refreshing reporter.materialized_simple_record
Previous behavior would break Slony replication after doing a
bib load. Since a deletion is slower than a truncate, if you're
not using Slony replication, you may prefer to truncate rmsr
prior to calling reporter.enable_materialized_simple_record_trigger.
gmc [Fri, 5 Nov 2010 17:02:59 +0000 (17:02 +0000)]
fix user password reset request time column def
Needs to be a timestamp with time zone; fixes a bug
where it was interpreted as a UTC time, throwing off
the calculation of the expiration of the password reset
request.
gmc [Thu, 28 Oct 2010 16:15:35 +0000 (16:15 +0000)]
adjust user tests that get done when retargeting holds
Fixes bug where a user having the maximum number of
active hold requests allowed to them by policy would
prevent items from being targeted to fill their requests.
dbs [Thu, 28 Oct 2010 15:22:48 +0000 (15:22 +0000)]
Backport r18516: Ensure call numbers are returned to the holdings editor in ascending sorted order
James Fournie in https://bugs.launchpad.net/evergreen/+bug/635121 reported
that call numbers were being displayed in the order that they had been
added to the database, rather than in sorted call number label order.
Although I have been unable to reproduce this problem on two different
test systems, the patch he provided for 1.6.1 (which fixes the problem on their
test system) shouldn't hurt other systems.
dbs [Wed, 27 Oct 2010 02:25:48 +0000 (02:25 +0000)]
Prevent ingest errors when asset.uri ID value outstrips asset.call_number
We were basing IDs in asset.uri on the max ID of asset.call_number,
which occasionally led to major ingest problems as attempts to insert
the next ID into asset.uri failed because that ID already existed. Using
the max ID from asset.uri for asset.uri inserts seems to make more sense
and does resolve that problem.
The bigger problem of not using the sequences that are already on these
tables to generate the IDs will not be an issue in 2.0, when we move to
in-database ingest and can use the normal lastval() approach to populate
asset.uri_call_number_map with the new values.
gmc [Thu, 21 Oct 2010 14:54:44 +0000 (14:54 +0000)]
improve call number sorting
oils_text_as_bytea now does uppercasing in addition
to converting strings to bytea, working around
the limitation that json_query can't stack transforms
dbs [Fri, 8 Oct 2010 03:26:59 +0000 (03:26 +0000)]
Avoid scary SSL / HTTPS errors in Apache configuration
When port 443 is the last listener port, Apache generates lots
of "unknown protocol speaking not SSL to HTTPS port!?" errors in
the logs - which are scary, but harmless. Putting port 80 last
avoids those errors entirely, per http://wiki.apache.org/httpd/InternalDummyConnection
phasefx [Mon, 4 Oct 2010 17:32:09 +0000 (17:32 +0000)]
prevent repeat renderings of opac sidebar (relevant subjects, authors, etc.) in Firefox. What's happening is that the rresultHandleMods is not firing immediately with each record retrieve, and so we get a flurry at the end where resultPageIsDone() returns true for all of them, triggering the allRecordsReceived event more than once. So now at the end of the first allRecordsReceived event chain, we set a global variable, and have these render functions check to see if it has been set.
* all potential capturable copies are now checked (up to the first
one that is permitted for the request), instead of a small random
subset of them
* don't do redundant permission checks
Forward-port of a patch from Steve Callendar, via James Fournie, via launchpad:
When the patron.password.use_phone is set, new patrons are created with their password set to the last 4 digits of their phone number, HOWEVER, when a patron's password is reset, it does not work properly. Although the little underlined summary shows the proper 4 digits, the password box displays 9-ish digits, and is not the last 4 digits of the password.
The attached patch was created by Steve Callender and is confirmed working on 1.6.0
This patch will not work on 2.0 as that has a new user editor, but it would presumably be worthwhile to verify this functionality works in that editor as well.
Update version stamp for Evergreen service, adopting branch convention from trunk
http://hostname/gateway?service=open-ils.actor&method=opensrf.open-ils.system.ils_version
was returning "1-5" for a number of systems we checked; in trunk, we have adopted the
"x-y" convention for branches, so in the 1.6 branches we will follow the "x-y-z"
approach for a little more clarity.
Backport just the bib-source setting portion of r17403
When importing a set of records from Vandelay, the bib source selection widget
on the Vandelay screen should actually affect the biblio.record_entry.source
value of the imported records.