This feature will display sibling records when viewing a bib record in the OPAC.
Altered Record.pm to gather up additional metarecord information to pass to
misc_util.tt2 for parsing. Displayed on summary.tt2 styled in responsive in
style.css.tt2. Also fixed the URL in mmr search results for single bib results in
table.tt2. Transcendent bibs needed to be included in the unapi.mmr_mma function.
This code requires the code from LP1629108.
http://git.evergreen-ils.org/?p=working/Evergreen.git;a=shortlog;
h=refs/heads/user/blake/LP1629108-metarecord-constituent-result-reroute
To test
-------
[1] Apply patch.
[2] In public catalog, add one or more bibs to the temporary
list ('My List').
[3] Click the 'View List' button, then verify that the titles
are displayed.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Jason Stephenson [Tue, 22 Nov 2016 19:35:58 +0000 (14:35 -0500)]
LP 1473054: No-op Checkin Should Not Always Float a Floating Copy.
Prior to this patch, a no-op checkin would not check if a copy should
float using the evergreen.can_float() function. It would simply float
the copy to the org_unit where the checkin happened if the copy had a
float value set.
This commit changes the behavior to use evergreen.can_float() to
determine if the copy should float to the org_unit where the checkin
happened. This change makes the behavior consistent with a regular
checkin.
blake [Fri, 10 Feb 2017 03:14:24 +0000 (21:14 -0600)]
LP1629108 Finalizing Search.pm removing if block
For ease of diffing, I left the old if block in place because removing it would
cause all of the lines to show changes when in fact it was just spacing. This commit
simply removes the if block and the spacing is the only change.
blake [Mon, 13 Feb 2017 21:19:45 +0000 (15:19 -0600)]
LP1629108 metarecord_constituent_result_reroute
This patch will route the metasearch logic through the "standard" search logic
in order to leverage the heavy use of filters and other features.
A column is introduced to unapi.mmr_mr to include the constituent bibs in the
return. A tweak was required in the template toolkit code to take advantage of the
new payload. This enables TT to decide which icons should be displayed when search
results are filtered.
Display the contents of the patron alert message in the web staff patron
summary side-bar. Alert displays below blocking penalties, above the
name, etc. with the same style as a blocking penalty.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Chris Sharp [Mon, 5 Dec 2016 22:46:02 +0000 (17:46 -0500)]
LP#1643932 - Fix search slowness when patron searching by username
Bug 1501781 introduced a feature to improve patron name searching,
but which was causing very slow queries when searching by username.
Adding an index to username solves the slowness problem.
Suggested by Mike Rylander.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
This patch fixes a regression introduced in 2.11 that had
the effect of making the stock Full Overlay merge profile
act like a match-only merge that also updates the bib source.
To test
-------
[1] After applying the patches, verify that the Full Overlay
merge profile now fullly updates the target bib record.
Jason Stephenson [Fri, 25 Mar 2016 01:35:27 +0000 (21:35 -0400)]
LP 1507807: Release Notes for In-House-Use Copy Alerts
Add a release notes document explaining how the settings work.
If you want to test the functionality, you should set the settings to
true. Next, find a copy with an alert message and another copy with
the check in alert set to true on its location. Recording an
in-house-use for either of these copies should cause an alert to
display the respective message. If a copy has both, then two alerts
will appear one after the other.
Resetting the settings to false or deleting the settings should stop
the alerts from displaying.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Jason Stephenson [Wed, 23 Mar 2016 01:25:17 +0000 (21:25 -0400)]
LP 1507807: Show Alert dialogs in XUL staff client.
If the circ.in_house_use.copy_alert org setting is true and the copy
has an alert_message, then we display an alert dialog with the copy
alert message when doing an in-house-use in the XUL staff client.
If the circ.in_house_use.checkin_alert org setting is true and the
copy location checkin_alert field is also true, then we display an
alert dialog with the "item needs to be routed to..." alert message
when doing an in-house-use in the XUL staff client.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Jason Stephenson [Sun, 20 Mar 2016 00:36:55 +0000 (20:36 -0400)]
LP 1507807: Show Alert dialogs in browser staff client.
If the circ.in_house_use.copy_alert org setting is true and the copy
has an alert_message, then we display an alert dialog with the copy
alert message when doing an in-house-use in the browser staff client.
If the circ.in_house_use.checkin_alert org setting is true and the
copy location checkin_alert field is also true, then we display an
alert dialog with the "item needs to be routed to..." alert message
when doing an in-house-use in the browser staff client.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
This idiom is no longer needed, as session information required to
generate a transaction ID is reliably passed to subrequests. Without
this patch, current Evergreen master and OpenSRF master will cause
the following methods to return not only their results, but also
"1" from each use of this idiom:
To test
-------
[1] Be running current Evergreen master and OpenSRF master
(or the 2.5 alpha)
[2] Run (say) open-ils.storage.actor.user.checked_out in srfsh:
[3] Note the extraneous 'Received Data: 1' sent prior to the substantive
response.
[4] Apply the patch and rerun step 2; note that this time
only the desired response is sent.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
The Other menu in a patron's account was dropping down behind the specify due
date input box. A tweak to the zindex for the Patron Account tabs was needed
for the menu to display in front of the input box.
Test plan:
Retrieve a patron in the web client. To the right of the Patron Account tabs,
click the Other dropdown menu. The menu will appear behind due date input.
Depending on the browser / screen resolution, it may also hide one of the
options in the dropdown menu. After the patch is loaded, the menu should display in front of the input as expected.
There is an unused (and apparently never used) org unit setting
related to self checkout:
circ.selfcheck.require_patron_password
This commit removes the redundant unused setting, related
permissions, and related strings.
Thanks to Lynn Floyd with the Anderson County Library for pointing
this out.
Signed-off-by: Jeff Godin <jgodin@tadl.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Ben Shum <ben@evergreener.net>
Conflicts:
build/i18n/po/db.seed/db.seed.pot
Bill Erickson [Tue, 3 Jan 2017 16:59:26 +0000 (11:59 -0500)]
LP#1653742 Copy tree authoritative API share cstores
Avoid opening one cstore connection per requested org unit in the
open-ils.cat.asset.copy_tree.retrieve.authoritative API by creating a
single shared cstore connection at the top of the API shared by all
API actions.
Jason Stephenson [Sat, 10 Dec 2016 01:45:33 +0000 (20:45 -0500)]
LP 1648918: Remove Workstation at Root of User's Permission Tree
If you register a workstation at the root of the user's permission
tree in the webstaff client, you are not able to later remove it. The
Remove button is dimmed. You can remove a workstation registered at
any other org_unit where the user has the REGISTER_WORKSTATION
permission.
To reproduce this bug, login as the admin user and register a
workstation at the CONS org_unit. Then, go to Workstation
Administration and see that the Remove button is dimmed.
To test the patch, do the same, but see that the Remove button is not
dimmed. When you click it, the workstation is also removed.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Current acq behavior is that received items get a
copy status of "In Process". This status is typically
holdable and opac_visible, and some libraries have a need
for an intermediate status between "On Order" and "In Process".
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Kathy Lussier [Fri, 6 Jan 2017 16:13:26 +0000 (11:13 -0500)]
LP#1654534: Prevent loop that occurs when staff us 'place another hold' link
A hidden field that tracked the page the user was on before placing a hold was
inadvertently removed in another bug fix. As a result, if staff used the link
to place another hold on the same title, they were stuck in a loop where they
couldn't return to the source page after hitting the 'continue' button. This
commit restores that hidden field.
Also provides a fix so that hold labels used in the place another hold link
can be translated.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <ben@evergreener.net>
Dan Pearl [Wed, 8 Feb 2017 22:57:20 +0000 (17:57 -0500)]
LP#1613341 - Patron name search should be punctuation-insensitive
O'Brien will be matched by Obrien, O'Brien, O Brien etc.
Grubbly-Plank will be matched by Grubbly Plank, Grubbly-Plank, Grubblyplank, etc.
This feature is controlled by the same org setting that controls ignoring
of diacritical marks.
Signed-off-by: Dan Pearl <dpearl@cwmars.org> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Mon, 6 Feb 2017 17:07:01 +0000 (12:07 -0500)]
LP#1541801: order search fields in Z39.50 alphabetically
This patch causes search fields in the Z39.50 search interface
in the web staff client to be place in alphabetical order by
field label.
To test:
[1] Open the Z39.50 search page in the web staff client and select
one or more search services.
[2] Verify that the list of fields is ordered alphabetically.
1) Use a unicode X instead of the string "Remove"
2) Provide a border around filters
3) Label filters with "Filtered by"
4) Only show "[X filters applied ]" when in mobile mode, and make it
work like the "Refine these results" button.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Tue, 15 Nov 2016 19:26:48 +0000 (14:26 -0500)]
LP1281280: Improve query tree compression
In addition to collapsing adjacent nodes sharing the same boolean operator,
we'll now also do the following two things: collapse filters, facets and
modifiers when there exists only a single subnode; and absorb single node
subplans.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
If one has a long list of boolean operations, such as can
be generated by third-party products looking for a book that
might have one of several different ISBNs, those are currently
searched separatelly, in a deep nested set of joined full-text
queries. This behavior was introduced to address problems of
non-deterministic grouping of boolean operations, along with
them generally not working in complex situations. We call
the mechanism "boolean push-down", because it explicitly
bifurcates the tree at each boolean operator.
This is suboptimal in the case of adjacent, like boolean ops.
This commit re-compresses the parse tree for adjacent nodes
that use the same boolean operator and are composed of atoms
only (that is, no modifiers, filters, or phrases). It ignores
any explicit groupings by the user, the "magical" floating
subplan, any subplans that include filters or modifiers, and
any nodes that have a mix of boolean operators between their
atoms.
This is probably more conservative that is strictly necessary,
and phrases would likely be safe, but baby steps.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Galen Charlton [Tue, 4 Oct 2016 20:06:32 +0000 (16:06 -0400)]
LP#1005040: teach filter boxes about human-readable crad descriptions
This patch ensures that the human-readable record attribute
description, if available, will be used for the title of each
filter control widget. It also gives descriptions to record
attributes commonly used for advanced search filters.
Galen Charlton [Tue, 4 Oct 2016 18:08:14 +0000 (14:08 -0400)]
LP#1005040: various improvements to the filter control widgets
* ensure that filter values are sorted
* fix the link for removing location filters
* don't display a filter box for search_format, as that
already has a separate drop-down in the search bar
It also sets a different background color for the header of filter
boxes. Padding between entries in a filter list is reduced as
compared to facets, both to save a bit of vertical space and to
subtly distinguish filters from facets.
This patch gut most of the top level Search/Biblio.pm wrapper,
inlines opensearch search params, uses the new dispach method,
for OpenSRF subrequests, and return the abstract query when
requested.
It also adds CDBI classes for asset.copy_location_group which
is needed for looking them up at search time.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Chris Sharp [Mon, 7 Nov 2016 12:40:24 +0000 (07:40 -0500)]
LP#1639782 - Add Active Date to Item Status Column Picker
Circ and Cataloging staff need a quick way to view the Active
Date of an item in the "Item Status" (F5) interface. This
makes that column available for selection.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Kathy Lussier [Wed, 8 Feb 2017 19:19:08 +0000 (14:19 -0500)]
LP#1308090: Updating release notes to reflect both parts of this new feature
The code introduced two distinct features related to authors and RDA records,
but only one was highlighted in the release notes. Notes are updated to reflect
both changes.
Dan Pearl [Thu, 2 Jun 2016 19:02:25 +0000 (15:02 -0400)]
LP#1308090 Relator fields and facets need normalization.
This incorporates two changes: facets were generated with trailing
punctuation, which resulted in more than one entry for the same item,
differing only in punctuation. In addition, relator codes were suppressed
in the record detail unnecessarily.
Signed-off-by: Dan Pearl <dpearl@cwmars.org> Signed-off-by: Kate Butler <katebutler@rodgerslibrary.org> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Precat checkout in the browser client no longer
requires the use of a circ modifier(when circ
modifiers exist). Similarly, no circ modifier
is chosen by default.
Mike Rylander [Tue, 31 Jan 2017 17:35:05 +0000 (12:35 -0500)]
LP#1660059: Protect against null value in group field
If a nullable event grouping field is configured, and a null value is indeed
encountered when pulling together events, the Action/Trigger code will exit
unceremoniously. To prevent this, we will now collect events with either
a null grouping object or grouping field, and use a new batch invalidation
API call to get rid of them as quickly as possible after group sorting is
complete.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Change references of nonexistant scope variable args.date
to args.due_date, enabling edit due date to correctly
submit.
Signed-off-by: Kyle Huckins <khuckins@catalystdevworks.com>
Changes to be committed:
modified: Open-ILS/web/js/ui/default/staff/circ/patron/items_out.js
Add Address Alert to the alerts pane when address alert
is detected in the patron editor. This implements functionality
that was originally added tot he XUL patron editor in LP#898248.
To test:
[1] Define an address alert.
[2] Open a patron record in the webstaff patron editor and
create or update an address that would match the alert
set up in step 1. Verify, upon blur of street 1, street 2,
or the city inputs that an alert is displayed.
Note that the feature does not call for the presence of an
address alert to prevent the operator from saving the record;
the alert is purely advisory.
Bill Erickson [Tue, 10 Jan 2017 17:19:35 +0000 (12:19 -0500)]
LP#1655399 webstaff: User perm editor grantable fix
Correctly handle the boolean grantable flag in the user permission
editor. In some cases, the boolean 0/1 values returned from storage are
returned as strings. Cast them to numbers before checking truthiness.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jason Stephenson [Sat, 20 Aug 2016 17:42:31 +0000 (13:42 -0400)]
LP#1485374: Add missing comma on line 667 of oils_auth.c.
Fixes the following compiler error:
oils_auth.c: In function ‘oilsAuthComplete’:
oils_auth.c:668:9: error: expected ‘)’ before string constant
"open-ils.auth_internal",
^
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Use of a 'local' variable causes the TZ to be dropped prematurely. So,
instead, we set $ENV{TZ} globally and reset it when the mod_perl handler
object is destroyed.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Galen Charlton [Tue, 23 Feb 2016 17:09:15 +0000 (12:09 -0500)]
LP#1485374: add way for C code to make TZ-aware subrequests
This patch adds a helper routine to allow C
methods to make subrequests that pass the client
time zone along. This helper is in turn used during
authentication to ensure that the user object
that is returned has timestamps that are in the
time zone of the client that makes the original
authentication request.
Testing shows this to be needed to make strftime()
return the time in the client's time zone.
This is a bit confusing, however, as strftime per
POSIX should be acting as if it always calls tzset()
when doing formatting that involves the local timezone.
Mike Rylander [Fri, 11 Sep 2015 15:19:34 +0000 (11:19 -0400)]
LP#1485374: Allow server timezone via CStoreEditor
In rare cases, the server's timezone may be preferable to the client's.
To plan for such cases we provide a way to signal that we want to use the
server's timezone.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Mike Rylander [Mon, 3 Aug 2015 17:27:56 +0000 (13:27 -0400)]
LP#1485374: Use client TZ in the database when supplied to the server
In LP#1485371 we teach OpenSRF how to discover and pass the client timezone
to the server. Now we can use that information to temporarily put the server
into that timezone, including database sessions, so that dates and times
are calculated and reported based on the timezone of the client.
To do that we:
* Teach CStore and friends to use the client-supplied time zone
* Teach Storage to use $ENV{TZ} for the db timezone inside transactions,
and by default except for search-y methods
* Teach the TPAC to set the client TZ at login
This requires javascript to be enabled in the TPAC, and investigates the
client timezone at patron login time. No times are displayed in TPAC
interfaces before the patron logs in, so there is no point in detecting
the timezone before this point.