Fix various Traditional and holds-go-home best-hold sort orders
Use copy's call number's owning_lib instead of copy's circ_lib
Should compare checkin lib to copy's (call number's) owning_lib, not
hold request lib.
You might think the comparison should be to acp.circ_lib, but that
doesn't work with floating copies (for non-floaters, acp.circ_lib
should be equal to acp.call_number.owning_lib).
approx is a more correct first determinant to give the behavior sites
are used to.
hprox can cause copies to be too eager to go home when
there are holds with that copy's circ lib as its request lib (if that's
what you want, then you do pick or create a sort-order with hprox near
the top).
Address a problem in the copy_has_not_been_home CTE.
This expression was always meant to provide a TRUE or FALSE value as its
lone result, but would return NULL in cases where copies had no transit
history.
Use pickup_lib, not request_lib, as the determinant of
nearness-to-home. request_lib was used with the thinking that an item's
"owning" patrons should have their wishes favored at holds-go-home time,
even if where they wanted to send the copy was not actually home, but
that's neither necessarily desired nor very intuitive.
Clear up holds-go-home logic with better code AND add TechRef
documentation with diagram in attempt to be as clear as possible.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Fri, 19 Apr 2013 15:06:27 +0000 (11:06 -0400)]
Merge changes to Apache 2.4 example config files
Not only do we need the JSPAC->TPAC changes that went into the base
Apache example configs, we should also move to generating these files
instead of having hardcoded values. Longer term, we should probably just
generate the right example configs from one common base until Apache 2.2
is dead and gone, but this improves the Apache 2.4 experience greatly.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Mike Rylander <mrylander@gmail.com>
QP: Limit to deleted records for #deleted modifier at this level
Down in the DB's query_parser_fts procedure, we also know whether we're
in a deleted_search, and in those cases we skip all visibility and
similar testing accordingly.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Sun, 7 Apr 2013 22:14:58 +0000 (18:14 -0400)]
TPAC schema.org: Add Organization types for contributors
Given a 110 / 710 field, when generating the record details for authors
and contributors we can declare an http://schema.org/Organization
itemtype rather than just jamming the name under the "contributor"
property. This is more in accordance with schema.org directions.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Fri, 5 Apr 2013 20:10:01 +0000 (16:10 -0400)]
TPAC: Fix schema.org name / dates for authors
Per http://schema.org/Person, the birth date and death date are not
supposed to be part of the name of a Person. We can separate these out
correctly based on subfield d for 100 fields.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Fri, 5 Apr 2013 17:21:47 +0000 (13:21 -0400)]
Fix schema.org mapping for MusicAlbum, add Map
We had set LDR[06] = j to MusicRecording, but that is really meant for
individual songs. Use MusicAlbum instead, and per
http://schema.org/MusicAlbum, use a new MusicGroup itemtype with a
'byArtist' property for the primary artist rather than the generic
'accountablePerson'.
Also map LDR[06] = e to Map, because that seems like a safe bet.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Tue, 16 Apr 2013 19:08:10 +0000 (15:08 -0400)]
Allow combined search to be optional per class
Relevance is thrown off for, in paticular, the keyword class when combined
search is used. This is because the effect of an opaque blob of data, such
as the keyword|keyword index definition, is to applify the inclusion of spurious
(to the user) data in matching attempts.
This commit adds the ability to specify, per class, whether combined FTS should
be used, and turns this on for only the subject class by default.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Acq: re-use more code for two ways of creating invoices (EDI and manual)
This solves two problems.
1) With EDI invoices, we had been failing to disencumber fund debits
related to the invoiced lineitems, although that worked for manual
invoices.
2) With manual invoices, we would not automatically uncancel copies
when the user decided to invoice them despite their canceled status.
This was already working in EDI invoices though. This is especially
important since our schema lumps "backordered" in with "canceled,"
and in theory backordered things do show up eventually.
There were earlier version of this commit out there with bugs that
prevented the EDI workflow from working correctly (the manual invoice
flow worked and still should).
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
The number of results listed on the search results page is often an
estimate when working with a large set. Let's add the word "about" to
reflect the fact that it is indeed an estimate.
At the same time, I moved the <strong> tags out of the code, adding a CSS
class in its place, moved the HTML tags out of the translatable
string (as recommended by Pasi Kallinen), and fixed a typo in the
stylesheet.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Stephenson [Thu, 18 Apr 2013 14:49:06 +0000 (10:49 -0400)]
Minor change to chrome/content/util/list.js.
Change the initializer of this.count_for_display from 0 to 1 in
order to match the counting of other lists in the client and to
provide something that staff are likely to prefer.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
In list.js at start you create obj.columns for lineno, but later
you don`t process this value so it`s return default render
function. This code repairs this.
Signed-off-by: Dmitry Nechai <nechai.dmitry@gmail.com> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Mike Rylander [Fri, 5 Apr 2013 05:52:16 +0000 (01:52 -0400)]
Address SQL injection vulnerability in SQL ORM layer
If the user-supplied value and the db column are both numbers
(jsonObject->type == JSON_NUMBER, get_primitive(field) == "number") then
don't quote. Otherwise, quote.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Wed, 17 Apr 2013 16:08:41 +0000 (12:08 -0400)]
Address hash/list thinko; Ensure initialization
Two cascading defects were identified after being reported by users. The
first, which was only a potential issue, was an apparent lack of mod_perl
initialization for the item-age record feed. While not the direct cause
of the error message, a lack of initialization here would manifest in the
same way. So, we check that initialization.
Feed-generating callbacks were not being constructed properly due to a
simple thinko in the construction of the default record format list provided
by the SuperCat backend. We need a list of two hashes, not a hash of two
keys.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Bill Erickson [Tue, 9 Apr 2013 17:45:24 +0000 (13:45 -0400)]
TPAC bucket item retrieval operates in streaming mode
TPAC bucket item retreive fleshes bib records with large blobs of MARC
data. When a bucket contains a few thousand items, the size of the
data passed around in atomic retreival mode will exceed the typical jabber
max stanza size and result in a failure. Retrieve the records in
streaming mode instead.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Scott [Thu, 11 Apr 2013 12:56:50 +0000 (05:56 -0700)]
TPAC: Render record titles and authors consistently
Yamil Suarez noticed that the titles and authors in the call number
browse results page were presented differently than the regular search
results. This change removes some of the hard-coded <em> tags and "bold"
classes, in favour of new "record_author" and "record_title" CSS
classes. Now sites can simply change the CSS in one place to keep things
consistent between the two search results pages.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Yamil Suarez <yamil@yamil.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Ben Shum [Wed, 27 Mar 2013 15:48:58 +0000 (11:48 -0400)]
Use inline-block for opac-multiline-button style
Follow up for LP1102934 which introduced CSS for opac-multiline-button.
The button appeared noticeably larger if using the english text for
"FAQs" on the login help button. Using inline-block for the style shrinks
it to fit more appropriately based on actual amount of text instead of
leaving it an unusually large looking button.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Kyle Tomita <ktomita@catalystitservices.com>
Dan Wells [Thu, 4 Apr 2013 20:43:38 +0000 (16:43 -0400)]
Add summary creation to embedded alt dist editor
In the Serial Control View, summaries are created automatically with
a new distribution. To avoid unhappy surprises, the embedded version
of the alt distribution editor should do the same.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Wed, 3 Apr 2013 20:21:25 +0000 (16:21 -0400)]
Ignore canceled holds during alt-queue generation
When zero potential copies exist for a hold, the hold queue stats code
determines the size and shape of the queue by finding and sorting holds
that have the same type and target. This patch forces the code to
ignore canceled holds when looking for similarly-shaped holds.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Kathy Lussier [Sat, 30 Mar 2013 02:09:48 +0000 (22:09 -0400)]
Release Note Additions
We should probably add the removal of JSPAC to the Release Notes. Also
added the following new features that were missing from the original
notes.
- Options to hide some user preferences from TPAC
- New fields for acq distribution formulas
- Public copy notes
- Direct access to item attribute editor
- Setting staff client search preferences
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Ben Shum [Thu, 31 Jan 2013 17:20:20 +0000 (12:20 -0500)]
LP1071505 - Add 264 RDA tag to reporter views
Some reports draw from reporter.materialized_simple_record table and these
were not made aware of the new 264 tag which contains publisher related
information.
Change the view for reporter.old_super_simple_record, which feeds into the
other reporter table.
The included upgrade SQL will update this view and then update the table using
the new view.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Dan Wells [Wed, 3 Apr 2013 16:44:23 +0000 (12:44 -0400)]
Populate variable needed for batch item receive
In the integrated alt editor, we load the sub. grid differently, so
'sub' was not being populated. Since we should only ever have one
subscription showing at a time (in this view), we can simply assign
the item to 'sub' as it is received.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Wells [Wed, 3 Apr 2013 16:03:25 +0000 (12:03 -0400)]
Small fixes for alt sub editor integration
This commit applies some polish to the alt sub editor integration:
- Prevent spinner from displaying continuously when adding a
subscription
- Hide the editor when changing subscriptions to limit confusion
about what is loaded
- Dynamically add a node to the tree view when adding a subscription
- Make sure the 'View/Edit' tab gets populated when backing out of
the stream or item view
- Apply some default link styles
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Mike Rylander [Wed, 3 Apr 2013 17:19:18 +0000 (13:19 -0400)]
Bash script to be used after the main 2.3-2.4 db upgrade
This script, originally offered by Thomas Berezansky and tested by others,
and augmented by me to include more parallizable SQL, will reduce the
time spent upgrading a large Evergreen 2.3 database to 2.4 by several hours.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
The new string "Are you sure you want to cancel the hold(s)?"
has been added as the following variable,
staff.hold_list.cancel_hold_dialog.confirmation.
The string also needs to be translated to all supported languages.
Signed-off-by: Kyle Tomita <ktomita@catalystitservices.com> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Steven Callender [Fri, 15 Jun 2012 17:27:33 +0000 (13:27 -0400)]
Avoid problems when auth recs are missing the 901c
Fixed the authority.normalize_heading function to better handle
INT's when there is no 901 present. Now we look for the best-fit
control set instead of throwing a db-level error.
Signed-off-by: Steven Callender <stevecallender@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Best hold selection: fix a checkin-busting bug affecting Holds-go-home
Several subselects within SQL auxiliary queries can possibly return
multiple rows in situations where outer code requires that they return
only one or zero rows.
When you're using a best-hold order that includes htime or shtime, (such
as those with Holds-go-home) and if there are mutiple circs or transits
related to the copy in hand with certain characteristics, you can
trigger this bug. The end user at the staff client gets one of those
nasty "Network error" dialogs, and the error in the SQL logs is:
> ERROR: more than one row returned by a subquery used as an expression
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Fix bug in hold targeter introduced with Calculated Proximity Adjustments
The Calculated Proximity Adjustments feature introduced a bug in the
hold targeter where holds would not discount those copies from the
potentials list that aren't in either the Available or Reshelving
status.
This commit should restore the earlier, correct behavior.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Fri, 29 Mar 2013 17:36:17 +0000 (13:36 -0400)]
LP 1126545 repair staff 'return to results' tpac link
Strip the extra "/" from the URL created by the "return to results"
button in the staff client TPAC view. Havin the extra "/" in place
prevents the next/previous links from functioning.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Dan Wells [Fri, 15 Mar 2013 18:47:53 +0000 (14:47 -0400)]
Allow access to public hold notes via hold "blob"
If a hold note is marked as "public", it seems reasonable that it
should be visible to anyone who can see that hold, regardless of
who created the note.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Kyle Tomita <ktomita@catalystitservices.com>
Dan Wells [Fri, 15 Mar 2013 18:42:24 +0000 (14:42 -0400)]
Fix reversed logic for hold "blob" notes
Hold notes (at least at the data level) allow for both staff and
"private" notes to be attached. This code intended to show "private"
notes to the hold owner and staff notes to staff, but had the logic
reversed.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Kyle Tomita <ktomita@catalystitservices.com>
Bill Erickson [Mon, 25 Mar 2013 19:19:14 +0000 (15:19 -0400)]
tpac : honor page locale in record detail copy grid
The query used to load the record detail copy grid now uses the same
locale value set as the default for all cstore-editor calls. This
solves the issue where copy location names, statuses, etc. are not
properly translated.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi> Signed-off-by: Mike Rylander <mrylander@gmail.com>
1) UI change - pre-select highest OU where user can edit
There's a dropdown in the org unit proximity adjustment interface that
affects the scope of what you can see in the table below. Before, that
dropdown would be set to the user's home UO (say, BR1 in the example org
tree). But you might have the permission to make changes everywhere, so
you add a proximity adjustment that affects BR3 in some way. As soon as
you'd refresh the interface, your new proximity adjustment would not be
visible, because your scope selector would default to BR1.
So now the dropdown defaults to the first context where you have the
permission, which in all but eccentric setups should be the highest OU
(and therefore broadest scope) where you have the permission.
This could also improve other interfaces in the future. Anything that
invokes openils.User.buildPermOrgSelector() can pass -1 as the third
parameter to get the new behavior.
2) Change UNIQUE index at DB layer.
This prevents the creation of rows that would give the hold targeter
conflicting directives.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Fri, 22 Mar 2013 14:40:59 +0000 (10:40 -0400)]
More authority fixed-field cleanup
Even with the efforts by many to add and harmonize the authority fixed-field
setup, and maintain functionality, there were some missing bits. This commit
should take care of those by realigning the remaining field names and allwowing
those fields to be saved properly.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
The circ_modifier and billing_types lists in the
open-ils.circ section of opensrf.xml are no longer
used. This commit removes them from the opensrf.xml
example config. It also removes the method
open-ils.circ.billing_type.retrieve.all, which has
not be used by any other code once in-DB billing types
were introduced.
Any external clients that used the method that was
removed should instead use
open-ils.circ.billing_type.ranged.retrieve.all.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Changed the way authority tags were being pulled to specifically use an aggregate array.
There appears to have been a change in postgres at some point between 9.0 and 9.1
to the aggregate method. Because of this, postgres was not returning the proper
results when pulling tags for authorities. This change will force postgres to do
a proper aggregate array call and return the correct results.
Signed-off-by: Steven Callender <stevecallender@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Fri, 3 Aug 2012 19:08:51 +0000 (15:08 -0400)]
SIP re-login fetches correct auth session
After a login session expires and the SIP server logs in again to
acquire a new authtoken, be sure to use the new authtoken when fetching
the new session object. Otherwise, the login_session is left undef and
you may see errors like this when checking in items:
Can't call method "ws_ou" on an undefined value at
/usr/local/share/perl/5.10.1/OpenILS/SIP/Transaction/Checkin.pm line 77.
Incidentally, the checkin code is the only code that references
$sip_handler->{login_session}. And the problem listed above only occurs
when the login session expires just prior to a checkin call. In any
other scenario, the login_session would ultimately get repaired.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Melissa Lefebvre [Mon, 25 Feb 2013 15:42:15 +0000 (10:42 -0500)]
TPAC - Account preferences headings
Currently, all tabs in My Account show a heading once clicked(Items Checked
Out shows "Current Items Checked Out" heading when clicked); however,
under the Account Preferences for a change of username, password, and
email address no headings appear.
Div classes were added to update_password.tt2, update_username.tt2, and
update_email.tt2 for consistancy in the My Account area.
Jeff Godin [Thu, 14 Mar 2013 18:15:28 +0000 (14:15 -0400)]
Fix detection of empty Syndetics AC data elements
Due to a change in how the vendor responds to requests for data
elements which are not present for a requested title, we need to
change how we detect "empty" data elements in the "data_exists"
function.
First, we check for the new "No Data Available" title element, then
we check for the previously-used value of "error".
This change resolves the symptom where the catalog would display
tabs for "Author Notes", "Excerpt", "Table of Contents", on every
record in the catalog, even when clicking each tab would show that
the content was not present / available.
Signed-off-by: Jeff Godin <jgodin@tadl.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Ben Shum [Fri, 22 Feb 2013 05:46:17 +0000 (00:46 -0500)]
LP1054322 - libparent-perl not needed for Ubuntu Precise
The newer version of Perl 5.14 which comes with Ubuntu Precise already
contains the contents of libparent-perl, which is now an obsolete package.
Remove this dependency from the extra debs installed for Debian and Ubuntu
but then add to the extras for Debian Squeeze and create a new extras just
for Ubuntu Lucid so that it continues to be installed on those systems and
not on Ubuntu Precise.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Ben Shum [Thu, 14 Mar 2013 21:40:04 +0000 (17:40 -0400)]
LP1103068 - Show titles and authors for pre-cat items
As noted in LP1103068, TPAC does not currently show anything when viewing a
pre-cataloged item in the my account summary of items checked out.
If the call number is -1 (pre-cat), then show the dummy title and dummy author
values, which fields are hopefully relevant as long as staff were good to put
something meaningful in those during creation of the pre-cat.
Also, wrap the title in a check for attrs.title.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Michael Peters <mpeters@emeralddata.net>
Dan Scott [Thu, 14 Mar 2013 21:52:09 +0000 (17:52 -0400)]
TPAC: Address severe accessibility issues
Using the Chrome Accessibility Dev Tools extension to run accessibility
audits against the TPAC turned up some "severe" issues, such as input
widgets lacking labels. In most cases the text for the labels was
present, but it needed to be associated with a <label> element. In some
other cases, it was easier to use the aria-label attribute to give the
widget an accessible label. Finally, we can use the placeholder
attribute where warranted as an accessible label.
These changes address the first set of accessibility issues I came
across via the audits and could address quickly.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Ben Shum [Fri, 22 Feb 2013 05:03:58 +0000 (00:03 -0500)]
Enable dojo in TPAC if using newer Novelist API
Enable dojo if the apache variable for Novelist URL is set. This avoids
issues such as needing to have dojo enabled via either AutoSuggest or
Google Books preview, which may not be enabled by every TPAC.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Bill Erickson <berick@esilibrary.com>