Jason Etheridge [Mon, 3 Aug 2020 12:37:18 +0000 (08:37 -0400)]
LP1774892 release notes
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jason Etheridge [Fri, 10 Jul 2020 16:15:22 +0000 (12:15 -0400)]
LP1774892 stripe elements
This fixes some minor errors with the generic payment form.
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jason Etheridge [Fri, 10 Jul 2020 16:08:30 +0000 (12:08 -0400)]
LP1774892 stripe elements
This commit breaks some code out into separate files for easier understanding.
The Stripe form was then tweaked and repositioned to work with specific selected
transactions, invoke the last chance screen, and show the refund policy.
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jason Etheridge [Fri, 12 Jun 2020 13:57:03 +0000 (09:57 -0400)]
LP1774892 stripe elements
This commmit changes the OPAC to use https://js.stripe.com/v3/ instead of
https://js.stripe.com/v2/ for processing payments through Stripe.
Additionally, it disables the "internal" credit card form in the staff client
when Stripe is the payment processor (or if the processor is not set at all),
as that does not currently work.
It also does not replace Business::Stripe's use of the "Charges API" with the
newer "Payment Intents" API on the backend, but credit card details are still
not sent to the Evergreen server.
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Tue, 15 Sep 2020 20:38:24 +0000 (16:38 -0400)]
LP#
1879983: stamp schema update
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Rylander [Mon, 24 Aug 2020 23:40:51 +0000 (19:40 -0400)]
LP#
1879983: Look at closings when getting times for a date
This adds a check for library closings when getting the list of times to
offer for an appointment.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Mon, 27 Jul 2020 18:10:14 +0000 (14:10 -0400)]
LP#
1879983: Create and protect a floor on appt granularity
If bare numbers are entered, they are interpreted as a number of
seconds. The most likely intent is minutes, so we force that unit.
Additionally, this commit sets a hard floor of 10 minutes on appointment
granularity.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Mon, 29 Jun 2020 20:58:37 +0000 (16:58 -0400)]
LP#
1879983: Restrict top-level curbside tab display
Refactor the code checking for curbside-available current-pickup
libraries so that it is checked for all of MyOPAC, allowing us to hide
the Curbside Pickup top-level tab when there are no holds ready at
curbside pickup enabled locations. The tab will always be at the end of
the list if it is visible.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Galen Charlton [Fri, 26 Jun 2020 20:19:50 +0000 (16:19 -0400)]
LP#
1879983: ensure that slot notes appear on delivered tab
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Thu, 25 Jun 2020 17:48:48 +0000 (13:48 -0400)]
LP#
1879983: corrected wording for appointment-claiming toasts
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Rylander [Thu, 25 Jun 2020 16:45:15 +0000 (12:45 -0400)]
LP#
1879983: Allow different granularities for the same date
The times available for each date were unintentionally limited to just
one org unit. This commit removes that restriction by storing the times
available for a date as passed to the template separately for each org
unit that has a curbside object, or is now requesting one.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Fri, 29 May 2020 16:17:54 +0000 (12:17 -0400)]
LP#
1879983: Add curbside subtab to the My Account holds UI
This updates the public catalog My Account holds tab to add
a subtab for curbside appointments. This subtab is displayed
only when the patron has available holds on the shelf at pickup
libraries that have enabled the circ.curbside library setting.
From this subtab, patrons can:
* Set times for curbside appointments and specify notes.
* Modify and cancel appointments.
* Mark themselves has having arrived at the library.
In addition to Mike Rylander, significant contributions to this
patch were made by Galen Charlton.
Sponsored-by: PaILS
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Rylander [Fri, 29 May 2020 16:14:55 +0000 (12:14 -0400)]
LP#
1879983: tweak public catalog CSS
In particular, add CSS to support table-ish display of
a div-grid for form-per-row. For example:
<div class="egtable">
<form class="egtr" method="post" action="blah.html">
<span class="egtd"><input type="text"/></span>
<span class="egtd"><input type="text"/></span>
</form>
<div class="egtr">
<span class="egtd">(cell data)</span>
<span class="egtd">(cell data)</span>
</div>
...
</div>
Sponsored-by: PaILS
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Rylander [Fri, 29 May 2020 16:17:07 +0000 (12:17 -0400)]
LP#
1879983: My Account curbside TPAC app
This adds code for managing curbside appointments in the
public catalog My Account page.
In addition to Mike Rylander, significant contributions to this
patch were made and Galen Charlton.
Sponsored-by: PaILS
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Tue, 2 Jun 2020 18:51:35 +0000 (14:51 -0400)]
LP#
1879983: add Curbside Pickup to the Angular navbar
For both the Angular and AngularJS staff interfaces, the
Curbside Pickup option in the Circulation menu is displayed
only if circ.curbside has been enabled for the workstation
library.
Sponsored-by: PaILS
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Tue, 26 May 2020 21:17:48 +0000 (17:17 -0400)]
LP#
1879983: AngularJS staff interface for curbside pickup
This adds a new AngularJS page for curbside appointment management. The
page has several tabs:
* To Be Staged appointments. This displays upcoming appointments; from
here, staff can mark appointments as "staged". Depending on the
library's curbside workflow, that may mean that the staff member
places the items in a bag or on a delivery table.
This tab also allows a staff member to claim (or unclaim)
responsibility for staging items for an appointment.
* Staged and Ready. This displays staged appointments; from here, staff
can mark that the patron has arrived, check out the items and mark
the appointment delivered, or un-stage the appointment.
* Patron Is Outside: from here, staff can check out the items and
mark the appointment delivered.
* Delivered Today: This displays appointments that were marked as
delivered.
* Schedule Pickup: This allows staff members to create and modify
curbside appointments on behalf of a patron.
AngularJS was chosen for this interface to permit backporting the
feature to older versions of Evergreen without having to deal with
variations in the version of Angular that is supported in past
releases. It also better meshes with the patron and circulation staff
interfaces that have not yet been rewritten in Angular.
The curbside pickup page only handles appointments at the workstation
library of the current staff user, as it assumes that the curbside
process is not centralized.
In addition to Galen Charlton, significant contributions to this
patch were made by Mike Rylander.
Sponsored-by: PaILS
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Tue, 19 May 2020 19:13:57 +0000 (15:13 -0400)]
LP#
1879983: A/T components of Curbside
This commit adds a reactor and validator for automating parts of the
basic Curbside workflows:
* Curbside validator: check whether curbside is enabled at the org unit
applicable an A/T event's target, which could be a user, org unit,
curbside appointment, or hold request.
* CurbsideSlot reactor: Creates a curbside appointment slot at the hold
pickup library when a hold becomes ready for pickup, if one does not
exist. This is meant to be triggered by the hold.available hook.
Appointments created by this reactor do not have an appointment time
set, as that is meant to be supplied by the patron or a staff member
acting on behalf of the patron.
In addition to Mike Rylander, significant contributions to this
patch were made by Jason Boyer.
Sponsored-by: PaILS
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Rylander [Tue, 19 May 2020 19:11:54 +0000 (15:11 -0400)]
LP#
1879983: Curbside application: open-ils.curbside
This commit adds the Curbside OpenSRF application, open-ils.curbside,
which provides all the business logic and data retrieval APIs. The
open-ils.curbside service must be registered with the public routeri
in order for the feature to function.
The methods in this service are:
* open-ils.curbside.fetch_mine: retrieve the active appointments
for the current login session; this is meant for OPAC use.
* open-ils.curbside.open_user_appointments_at_lib: retrieve
appointments for the specified user at a given library.
* open-ils.curbside.patron.ready_holds_at_lib.count: count
available holds for a patron at a specified library; this is
needed because there is no other single method that provides
this.
* open-ils.curbside.fetch_to_be_staged
* open-ils.curbside.fetch_staged
* open-ils.curbside.fetch_arrived
* open-ils.curbside.fetch_delivered
Retrieve appointments in various states. These methods are streaming
and also have .atomic variants.
* open-ils.circ.curbside.claim_staging
* open-ils.circ.curbside.unclaim_staging
Allow a staff member to claim responsibility for staging items
for an appointment or to release a claim.
* open-ils.curbside.fetch_to_be_staged.latest
* open-ils.curbside.fetch_staged.latest
* open-ils.curbside.fetch_arrived.latest
* open-ils.curbside.fetch_delivered.latest
Retrieve a hash of apopintments in various states; used to determine
if the UI should be updated.
* open-ils.curbside.times_for_date
Retrieve available times for curbside appointments at the specified
date.
* open-ils.curbside.update_appointment
* open-ils.curbside.create_appointment
* open-ils.curbside.delete_appointment
CUD.
* open-ils.curbside.mark_staged
* open-ils.curbside.mark_unstaged
* open-ils.curbside.mark_arrived
Update the state of appointments.
* open-ils.curbside.mark_delivered
Update the state of an appointment to mark it delivered AND check
out all of the available holds.
In addition to Mike Rylander, significant contributions to this
patch were made by Galen Charlton.
Sponsored-by: PaILS
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Rylander [Tue, 19 May 2020 19:10:34 +0000 (15:10 -0400)]
LP#
1879983: Predefined ILS Events to alert the UI
This commit defines events that might be sent to UIs in the case of
exceptional circumstances:
* CURBSIDE_NOT_ALLOWED (i.e., if the circ.curbside library setting is
not enabled for a given pickup library.)
* CURBSIDE_MAX_FOR_TIME (i.e., if all of the available slots for
a given appointment time have been scheduled.)
* CURBSIDE_EXISTS (i.e., if one is attempting to create a new
open curbside appointment for a patron and pickup library when
one already exists.)
Sponsored-by: PaILS
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Thu, 18 Jun 2020 14:12:49 +0000 (10:12 -0400)]
LP#
1879983: add DB updates to baseline
In addition to Galen Charlton, significant contributions to this
patch were made by Jason Boyer and Mike Rylander.
Sponsored-by: PaILS
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Rylander [Tue, 19 May 2020 19:08:32 +0000 (15:08 -0400)]
LP#
1879983: new table and seed data for curbside
This patch adds a new database table, action.curbside, for
tracking appointments to pick up on-shelf hold requests:
id - ID
patron - patron that the appoint is for
org - pickup library that the appointment is for
slot - date and time of appointment
staged - whethers for appointment have been staged
stage_staff - staff member responsible for staging the items
arrival - whether patron has arrived to pick up the items
delivered - whether items have been checked out to patron
delivery_staff - staff member responsible for checking out the items
notes - notes about the appointment, e.g., the color
of the patron's vehicle
It also adds four new library settings:
* circ.curbside: whether to enable curbside appointments for
picking up available hold requests. This default to off.
* circ.curbside.granularity: interval between appointment slots. This
defaults to 15 minutes.
* circ.curbside.max_concurrent: how many appointments to permit per
time slot. This defaults to 10.
* circ.curbside.disable_patron_input: if turned on, display scheduled
and pending appointments in My Account in the public catalog but
do not give the patron the ability to change them from My Account.
This defaults to false, i.e., allowing patrons to modify appointments
from My Account.
It also adds two Action Trigger hooks:
* hold.offer_curbside: to trigger notifications offering a patron the
opportunity to set an appointment time; this is invoked if the
CurbsideSlot A/T reactor is used to create appointment slots when
holds become available.
* hold.confim_curbside: fired when a curbside pickup appointment is
created or updated.
It also adds seed data for the Curbside A/T validator and CurbsideSlot A/T
reactor.
Finally, it adds sample A/T event definitions:
* Curbside offer Email notification
* Curbside offer SMS notification
* Curbside confirmation Email notification
* Curbside confirmation SMS notification
These event definitions are disabled by default.
In addition to Mike Rylander, significant contributions to this
patch were made by Jason Boyer and Galen Charlton.
Sponsored-by: PaILS
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org>
Galen Charlton [Wed, 10 Jun 2020 17:22:47 +0000 (13:22 -0400)]
LP#
1879983: Release notes for Curbside Pickup
This is in the first patch in a series for a new feature in
Evergreen called Curbside Pickup.
The Curbside Pickup features in Evergreen provides an interface to help
facilitate contact free pickup of library materials. It provides a dedicated
interface in the staff client for library staff to track and manage curbside
pickup appointments and materials through the various stages of the process.
Staff can also schedule pickup appointments on behalf of patrons. This feature
also allows patrons to schedule their own curbside pickup appointments in their
OPAC account, as well as inform the library when they have arrived and are
waiting for their materials.
To test
-------
(Testing notes were contributed by Andrea Neiman)
In order to test Curbside, you will need to place and capture holds at the
respective location you’re testing. This work does not interfere with existing
hold rules or parameters, except to force checkout override in certain
circumstances.
In addition, the circ.curbside library setting must be enabled. These testing
suggestions assume that the A/T event definitions included in this patch
series have been enabled.
Things to test:
* MyAccount correctly reflects scheduling/scheduled options
* Alert staff on my arrival should move batch to the Patron is Outside
tab
* Update appointment/cancel appointment options should move or remove
the batch appropriately
* If a patron has pickups at multiple locations, they should be able
to schedule separate pickups per location
* Email notices at various steps of the way are firing correctly
* Patron should get email for hold pickup, including scheduling
curbside.
* Patron should get email confirming curbside pickup
* Patron should get email with checked out items, if email receipts
are enabled
* Correct “batching” of items for pickup
* Batch moving correctly through tabs
* Batch is physically collocated - i.e. not containing pickups for
other OUs
* Checkouts are performed correctly
* Check against patrons with blocks - force override should be in effect
* Settings are being respected with regard to pickup scheduling & time
constraints
* Can’t create pickups in the past
* Pickups respect library open hours as set in Org Unit Administration
* Can’t create pickups if the 15-minute block is filled
Sponsored-by: PaILS
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jane Sandberg [Wed, 31 Mar 2021 18:56:56 +0000 (11:56 -0700)]
Docs: 3.5.4 release notes
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Jeff Davis [Mon, 9 Nov 2020 23:17:07 +0000 (15:17 -0800)]
LP#
1902965: change format type in XML transform to avoid XSS in SuperCat
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Jeff Davis [Mon, 9 Nov 2020 21:59:59 +0000 (13:59 -0800)]
LP#
1902965: HTML filter on OPAC search results and record display
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Galen Charlton [Wed, 31 Mar 2021 18:34:32 +0000 (14:34 -0400)]
LP#
1896840: (follow-up) update script to include the DB rev
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jane Sandberg [Wed, 10 Feb 2021 19:51:55 +0000 (11:51 -0800)]
LP1873322: Angular Admin Pages default to workstation OU
To test:
1) Apply this patch.
2) Log in using a workstation at a particular org unit.
3) Open some of the following admin pages:
Local Admin > Address Alerts
Local Admin > Carousels
Local Admin > Group Penalty Thresholds
Local Admin > Course Reserves List > Terms Tab
Server Admin > Billing Types
Server Admin > Call Number/Volume Suffixes
Server Admin > Copy Tags
Server Admin > Hard Due Date Configuration
Acquisitions Admin > Cancel Reason Configuration
Acquisitions Admin > Claim Policies
Booking Admin > Resource Types
Booking Admin > Resource Attribute Values
4) Verify that these pages automatically open to your
workstation's org unit.
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Dan Briem [Wed, 3 Mar 2021 22:11:44 +0000 (17:11 -0500)]
LP#
1915323 Angular Staff Client Hamburger Menu Clipped Off Screen
Aligns navbar corner dropdown menu to the right to prevent it
from clipping off-screen.
Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Jeff Davis [Tue, 16 Mar 2021 22:29:36 +0000 (15:29 -0700)]
LP#
1917804: only show MARC 500 data in the General Note field
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Jane Sandberg [Tue, 16 Mar 2021 20:19:09 +0000 (13:19 -0700)]
Stamping upgrade script
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Bill Erickson [Thu, 24 Sep 2020 15:46:58 +0000 (11:46 -0400)]
LP1896840 Publisher display includes 264 tag
The stock Publisher display field now extracts data from 260 OR 264
tags, whichever has a value first.
Release notes included with upgrade instructions.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Jason Boyer [Fri, 12 Mar 2021 19:10:19 +0000 (14:10 -0500)]
Revert the effects of both LP1687545 and LP1914116
Revert "LP1687545: Force TT CGI plugin to use ampersands in query strings"
and "LP1914116: Apply html filter to mkurl() output"
until a fix for LP1918470 is available.
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
Michele Morgan [Thu, 25 Feb 2021 21:51:01 +0000 (16:51 -0500)]
LP1899405 - Add Part column to item table in Angular Catalog
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jason Stephenson [Tue, 2 Mar 2021 14:22:55 +0000 (09:22 -0500)]
Lp
1703658: Stamp DB Upgrade
Signed-off-by: Jason Stephenson <jason@sigio.com>
Jason Stephenson [Thu, 25 Feb 2021 20:00:02 +0000 (15:00 -0500)]
Lp
1703658: Repair DB Upgrade
Remove an errant semicolon in the db upgrade script.
Add release notes.
Signed-off-by: Jason Stephenson <jason@sigio.com>
Jason Boyer [Thu, 25 Feb 2021 15:06:38 +0000 (10:06 -0500)]
LP1703658: Convert GIST Indexes to GIN
Rather than suggest that sites experiencing search speed issues
do this conversion on demand just knock it out from the start.
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Jason Stephenson [Wed, 17 Feb 2021 22:01:29 +0000 (17:01 -0500)]
Forward Port 3.5.2 to 3.5.3 db upgrade
Signed-off-by: Jason Stephenson <jason@sigio.com>
Jason Stephenson [Wed, 17 Feb 2021 21:06:58 +0000 (16:06 -0500)]
Translation updates - po files
Signed-off-by: Jason Stephenson <jason@sigio.com>
Jason Stephenson [Wed, 17 Feb 2021 20:54:24 +0000 (15:54 -0500)]
Translation updates - newpot
Signed-off-by: Jason Stephenson <jason@sigio.com>
Galen Charlton [Wed, 17 Feb 2021 16:47:51 +0000 (11:47 -0500)]
Evergreen 3.5.3 release notes
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Wed, 17 Feb 2021 15:55:56 +0000 (10:55 -0500)]
Evergreen 3.4.6 release notes
Signed-off-by: galen Charlton <gmc@equinoxinitiative.org>
Mike Rylander [Sat, 13 Jul 2019 18:18:09 +0000 (14:18 -0400)]
LP#
1836254: Handle null authtoken in PCRUD
When the authtoken received from the client is the unquoted literal
string "null" in a pcrud request, the drone processing the request
will crash with a segmentation fault as the session verification code
passes a NULL pointer to strcmp.
To reproduce this bug, make the following request via srfsh:
request open-ils.pcrud open-ils.pcrud.search.pgt null
{"parent":null},{"flesh":-1,"flesh_fields":{"pgt":["children"]}}
Note that srfsh hangs util it times out.
Next, grep /var/log/syslog for the string segfault. You should find
something resembling the following:
Jul 12 15:29:43 buster kernel: [ 94.794920] opensrf-c[1357]:
segfault at 0 ip
00007fe3bbb8b219 sp
00007fff2877a020 error 4 in
liboils_pcrud.so.2.0.0[
7fe3bbb82000+10000]
After patching Evergreen with this commit, repeat the srfsh request
again. This time, the call should return almost immediately with an
osrfMethodException: "permacrud received a bad auth token: (null)."
When you grep syslog for segfault this time, you should find no new
occurrences.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Mike Rylander [Fri, 14 Aug 2020 19:35:10 +0000 (15:35 -0400)]
LP#
1858114: Fix thinko in template-parameter collection
Minor thinko in the use of Array.prototype.concat() when gathering the
"where" and "having" template parameters -- concat() does not alter the
array it is called on, so we need to assign the result back to the
array.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
Mike Rylander [Fri, 14 Aug 2020 14:35:06 +0000 (10:35 -0400)]
LP#
1858114: Record template filter values for aggregate columns
Currently the "having" clause does not record template-level filter
values in the template, but forces use of a report-level parameter.
This commit allows "having" to receive a value in the same way that
"where" does.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
Mike Rylander [Thu, 13 Aug 2020 17:05:19 +0000 (13:05 -0400)]
LP#
1858114: Present proper input widget for aggregate parameters
There's currently logic to override the filter widget for all columns
that have a selector defined, such as the ID column of many tables. When
we transform the column with an aggregate transform, though, we don't want
to pick a particular selector-labeled value.
While I can imagine using a min or max aggregate to get a representative
value for a group, when other dependent filters would make the value
stable or where the value in particular doesn't matter but isn't needed
in a count (say), all the other aggregate transforms that are currently
supported are specifically numeric (sum, average, count, and
count_distinct). Because of that, and the most likely use case of
matching a count to "0" or "1", we should only present the "remote
object widget" for non-aggregates, and just use the baseline text string
input here.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
Jason Boyer [Mon, 15 Feb 2021 21:42:42 +0000 (16:42 -0500)]
LP#
1866406 Followup: Add Release Note
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
Mike Rylander [Fri, 23 Oct 2020 18:26:10 +0000 (14:26 -0400)]
LP#
1866406: Use carousel item order
Previous to this commit, the item display order for carousels was
undefined. Now, ordering is stable and predictable.
For Newly Cataloged Item and Newest Items by Shelving Location
carousels, the order is from most recently cataloged to least
recently cataloged.
For Recently Returned Item carousels, the order is from most recently
returned to least recently returned.
For Top Circulated Items carousels, the order is from most circulated
to least circulated.
For Manual carousels (as of now, without the ability to adjust the
Position of items) it is the order they are added to the backing bucket.
Thus emptying and refilling the bucket allows reordering.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
Jason Boyer [Mon, 15 Feb 2021 21:17:06 +0000 (16:17 -0500)]
LP#
1772955: Stamp Upgrade Script
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
Mike Rylander [Thu, 30 Jul 2020 15:48:46 +0000 (11:48 -0400)]
LP#
1772955: Only include xacts with balance in summary
This commit adds a new view and IDL definition that shows the total
owed/paid/balance for transactions that have a balance other than 0.
This new view is used in the patron summary bar, and access is provided
wherever the all-open-transactions version is available in case we want
to move to the new one elsewhere.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
Zavier Banks [Thu, 5 Mar 2020 16:19:49 +0000 (16:19 +0000)]
LP1670457 Action Menu Grid Selection Change
I reworked the grid to disable certain actions, if
an item was needed. However, if there were actions, were
there was no item needed, they would still be available.
Signed-off-by: Zavier Banks <zbanks@catalyte.io>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
Bill Erickson [Mon, 14 Sep 2020 14:52:05 +0000 (10:52 -0400)]
LP1468132 MARC search honors search scope
Adds a 'Results from All Libraries' checkbox to the MARC search form in
the Angular staff catalog. When unchecked, the MARC search will limit
to results with holdings in the search scope.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
Bill Erickson [Mon, 14 Sep 2020 15:33:45 +0000 (11:33 -0400)]
LP1468132 Staff MARC Search API supports copy filtering
Teaches the MARC search code to filter results on records with items
attached (though not necessarily opac-visible) for scoped staff
searches. Prior to this patch, the scope of staff searches was
effectively ignored.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
Jason Boyer [Mon, 8 Feb 2021 19:20:32 +0000 (14:20 -0500)]
LP1914116: Apply html filter to mkurl() output
Because of the way that mkurl() generates its query parameters they're
generally escaped correctly, but nowhere do we run the output of mkurl()
through the html filter to correctly handle ampersands. Rather than adding
"|html" to every invocation of mkurl, it's just added to the macro directly.
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Jane Sandberg [Tue, 2 Feb 2021 19:58:16 +0000 (11:58 -0800)]
Lp
1913219: Use window.open for staff catalog edit link; angular version
Backport to rel_3_5 required conflict resolution in
Open-ILS/src/eg2/src/app/staff/catalog/record/copies.component.ts
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Jason Stephenson [Tue, 2 Feb 2021 17:46:49 +0000 (12:46 -0500)]
Lp
1913219: Use window.open for staff catalog edit link
To avoid the "Scripts may close only the windows that were opened by
them" console message in Chrome 88, and a similar message in Firefox
84, when clicking "Save & Exit" in the Volume/Copy editor of the
AngularJS staff client after opening it via the "edit" link in the
copy table of the TT OPAC record summary, we use an onclick handler
with window.open instead of a standard href in the edit anchor.
Signed-off-by: Jason Stephenson <jason@sigio.com>
Chris Sharp [Wed, 28 Oct 2020 14:16:51 +0000 (10:16 -0400)]
LP#
1901900: Update EDI Webrick installer for Ubuntu 18.04
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Garry Collum [Mon, 14 Dec 2020 17:48:13 +0000 (12:48 -0500)]
LP1906858 Carousels Ignore Deleted Flag
Adds logic to look for the copy deleted flag in the carousel queries.
To test in concerto, it is easiest to create one item on three or four bibs
and assign the same org unit and location code to these items.
Check the items in. Check the items out, and then check them back in at their home OU.
Create 4 carousels. Newly Catalogued Items, Recently Returned Items, Top Circulated Items, and Newest Items by Shelving Location.
Make sure the carousels pull from the item library for which the items belong,
and set the owner to CONS. Select and add the correct shelving location.
Refresh the carousels. In the edit dialog box of each carousel, you can click the Link to bucket link to see the titles in the bucket.
Delete one of the items. Refresh the carousels once more and notice that the deleted title still appears.
Apply the patch.
Refresh the carousels, and the delete item should now be gone.
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jeff Davis [Mon, 1 Feb 2021 22:17:05 +0000 (14:17 -0800)]
LP1913811 progress dialog on Items Out grid
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Mon, 1 Feb 2021 15:54:18 +0000 (10:54 -0500)]
LP1913811 Items out notice summary API batching
Tweak the open-ils.actor.user.itemsout.notices API to accept an array of
circulation IDs so the call can be batched from the client. Similarly
modify the AngJS client to request the notice summaries in batch.
Further improves the notices API by removing an unneeded join and a
minor security fix to verify perms based on the in-database user ID
instead of the ID provided by the caller (w/ the note that the API only
returns numbers, not user data).
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Garry Collum [Thu, 17 Dec 2020 18:47:41 +0000 (13:47 -0500)]
LP1868147-Titles in carousel run together in mobile display.
This patch uses the breakpoint option available in glide.js to limit the number of images in the carousel that display.
If a screen's width is set between 768-992 pixels, 3 images display in the carousel,
if the width is below 768 pixels, only 2 images display in the carousel.
The reduction of images helps with titles overlapping each other.
To test:
Apply the patch to an instance of Evergreen that displays carousels.
Reduce the screen size of the browser. Eventually the carousel will display 3 and then 2 images.
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jeff Davis [Fri, 18 Dec 2020 00:43:15 +0000 (16:43 -0800)]
LP#
1896285: progress dialog when marking selected items as missing
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: blake <blake@mobiusconsortium.org>
Bill Erickson [Thu, 17 Dec 2020 15:19:14 +0000 (07:19 -0800)]
LP1896285 Post mark-missing serialized item load
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Wed, 2 Dec 2020 22:02:24 +0000 (14:02 -0800)]
LP1896285 Batch mark item missing serialized
Process batches of items one at a time when marking them lost to avoid
sending too many parallel requests to the server.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Mon, 14 Dec 2020 23:02:39 +0000 (15:02 -0800)]
LP1896285 Add new items avoids looping settings lookup
Refactor AngJS volcopy item add actions so it makes the minumum
necessary settings API calls for default copy status.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Wed, 2 Dec 2020 21:52:47 +0000 (13:52 -0800)]
LP1896285 Patron search add to bucket serialize
Add a batch of patrons to a bucket one patron at a time to avoid
overwhelming the server with bucket item create requests and potentially
exhausing the open-ils.actor service.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Mon, 11 Jan 2021 16:33:56 +0000 (11:33 -0500)]
LP1901760 Remove SharedWorker testing cruft
Otherwise they will work for no one!
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Bill Erickson [Mon, 4 Jan 2021 17:10:05 +0000 (12:10 -0500)]
LP1901760 Improve SharedWorker non-support handling (Angular)
Reject requests to SharedWorker resources when shared workers are not
supported. The caller is required to handle the rejection in whatever
way makes sense for the calling code.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Bill Erickson [Mon, 4 Jan 2021 17:05:24 +0000 (12:05 -0500)]
LP1901760 Improve SharedWorker non-support handling (AngJS)
Force the SharedWorker code to run before org settings cache requests
are attempted so that we can tell before the lovefield request is made
wether or not a connection will be successfull. In other words, we may
not know if cannotConnect is true yet, so force that logic to run first.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Jason Boyer [Thu, 21 Jan 2021 16:08:36 +0000 (11:08 -0500)]
LP1687545: Force TT CGI plugin to use ampersands in query strings
Change our already-forked version of TemplateToolkit::Plugin::CGI
to use "old" style urls which became the new / only style after
CGI.pm was deprecated. This causes the query_strings property to
consistently use ampersands to separate query parameters.
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Chris Sharp [Mon, 7 Dec 2020 19:44:04 +0000 (14:44 -0500)]
Forward-port 3.5.1-3.5.2 version upgrade script
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Chris Sharp [Mon, 7 Dec 2020 19:43:03 +0000 (14:43 -0500)]
Forward-port 3.4.4-3.4.5 version upgrade script
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Dan Briem [Wed, 18 Nov 2020 21:50:06 +0000 (16:50 -0500)]
LP#
1778522 Precat item creation should be more intentional
Precat items can be created before all of the info is entered.
The dialog autofocuses the title field, so a double barcode scan
will populate the title field and createt the precat without
giving an opportunity to fill in the other fields.
This prevents form submission unless you click the Precat
Checkout button.
To test:
1. Try to check out a barcode that doesn't exist to any patron
2. On the precat dialog, enter a value into the title field
3. Note the precat is created
4. Apply patch
5. Repeat steps 1-3 and note the precat isn't created until
the Precat Checkout button is clicked
Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Dan Briem [Fri, 17 Jul 2020 20:09:54 +0000 (16:09 -0400)]
LP#
1887852 Pending patron passwords aren't initially set to phone #
If a patron self registers with a phone # and the org unit
setting to use the phone for the password is true, when the
pending patron stage loads the password is initially random
instead of the last 4 digits of the phone #.
This branch sets the password to the last 4 digits of the phone
when the patron stage loads if the phone is set and the org
unit setting to use the phone # for the password is true.
To test:
1. Set org unit settings for allow patron self-registration and
show day_phone on registration to true
2. Go to the OPAC and request a library card (include phone #)
3. Login to the staff client, Circulation->Pending Patrons and
load the patron
4. Note the password is random
5. Load patch and repeat steps 3-4
6. Note the password is the last 4 digits of the phone #
Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Jane Sandberg [Wed, 18 Nov 2020 17:14:49 +0000 (09:14 -0800)]
Docs: release notes for 3.5.2
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Jane Sandberg [Wed, 18 Nov 2020 17:11:41 +0000 (09:11 -0800)]
Docs: release notes for 3.4.5
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Jason Boyer [Fri, 13 Nov 2020 16:12:22 +0000 (11:12 -0500)]
LP1904220: Fix Booking Service Check
Instead of trying to tell AppService which router we want to talk
to and confusing it, just tell it we want to talk to a router and
let it do its thing.
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Briem [Fri, 30 Oct 2020 17:06:59 +0000 (13:06 -0400)]
LP#
1900184 Patron password use phone not working
An early return statement in extract_hold_notify() was removed
in
7e92293 and added back in
ddf5b4b3, so props set at the end
of that function used in future comparisons never get set.
This re-removes the return statement and sets the local notify
variable to default string values so the rest of the function
can play out.
To test:
1. Set org unit setting: "Patron: password from phone #" to TRUE
at the top context location
2. Circulation->Register Patron
3. Type 123-456-7890 into the Daytime Phone field and press tab
4. Note: the password field isn't updated to the last 4 digits
5. Apply patch and repeat steps
6. Note: the password field updates to the last 4 digits
Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Jason Boyer [Fri, 30 Oct 2020 17:13:30 +0000 (13:13 -0400)]
LP1835127 Follow-up: Correct Translation Ids
Re-align the translation ids for the new booking permissions so
translations will apply correctly.
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Jason Boyer [Fri, 30 Oct 2020 16:56:14 +0000 (12:56 -0400)]
Revert "Repair Permission Seed Data"
This reverts commit
46a5f66a146e1916900fb2de605413bf83aea972.
The original commit was mistakenly backported too far, these
permissions do not apply to 3.5.
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Jason Etheridge [Fri, 15 May 2020 18:37:13 +0000 (14:37 -0400)]
LP#
1508208: live_t/ test for this branch
Includes timing information for the checkin, but pass/fail is not predicated on it.
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Mike Rylander [Tue, 10 Dec 2019 22:17:38 +0000 (17:17 -0500)]
LP#
1508208: Only look at holds that age protection allows
When hold capture is attempted, we look at (currently) the first 100
holds ordered by Best Hold Sort Selection Order. If a very long list
of holds are targetting an age-protected item then op capture may not
have a chance to see a viable hold for that copy.
This commit attempts to take into account the age protection currently
set for the copy by restricting the holds to just those where the
hold-copy-map proximity is less than or equal to the maximum proximity
allowed by the age protection. This works now because we store the
hold proximity in the hold copy map, where we did not before.
Being based on the hold-copy-map proximity, which is calculated
proximity, means this is an approximation and the final hold capture
logic may still reject some holds for the copy. Likewise, this does
not entirely eliminate the possibility that there may be a better hold
to capture the copy for if the in-range set of holds is very, very
long, but this should allow hold capture to proceed if even
imperfectly.
If no age protection is set for the copy, the current behavior
(looking at all holds) is maintained.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Chris Sharp [Wed, 28 Oct 2020 19:57:42 +0000 (15:57 -0400)]
LP#
1325704: stamping upgrade script
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Remington Steed [Tue, 15 May 2018 13:46:41 +0000 (09:46 -0400)]
LP#
1325704: Update Items-Out YAOUS descrip for web client
Three settings refer to the "top" and "bottom" lists on the XUL client
Items Out screen. With the web client, these have become three named
tabs. This commit updates the setting descriptions in the seed data so
they reflect the new design. I also attempted to make the meaning of the
values more clear by labeling the two subsettings as "A" and "B".
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Mike Rylander [Mon, 12 Oct 2020 19:51:29 +0000 (15:51 -0400)]
LP#
1893463: Protect against null emails
Unique indexes on nullable columns will allow multiple conceptually
unique rows if the nullable columns are, in fact, NULL because NULL does
not equal itself. This commit uses COALESCE to make sure that the
nullable email column in the reporter.schedule table gets a value of the
empty string for the purposes of the unique index. The upgrade script
now also takes this into account and ignores the email column.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Mon, 9 Dec 2019 16:47:30 +0000 (11:47 -0500)]
LP1855737 Don't send error object across shared worker port
Data must be string-ifiable to pass across a shared web worker message
port. In Firefox, at least, errors encountered during IndexedDB /
Lovefield operations are not candidates for automatic stringification.
Avoid trying to send the error object back to the caller.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jason Boyer [Wed, 14 Oct 2020 16:11:27 +0000 (12:11 -0400)]
LP1882828: (follow-up) Add static parameter to ViewChild decorator
While not strictly required in rel_3_6 and above, rel_3_5 uses
a version of Angular that requires specifying a value for the
static parameter when using the ViewChild decorator on an object.
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Chris Sharp [Wed, 7 Oct 2020 19:38:34 +0000 (15:38 -0400)]
LP1893463: Follow-up to address de-duplication and adding release notes.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Chris Sharp [Wed, 7 Oct 2020 18:54:41 +0000 (14:54 -0400)]
LP1893463: stamp upgrade script
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jason Boyer [Fri, 28 Aug 2020 21:13:14 +0000 (17:13 -0400)]
LP1893463: Prevent duplicated report outputs
When re-running recurring reports that are interrupted,
it's possible to end up with a duplicate copy of the next
recurrance of that report. This branch adds a unique index
to reporter.schedule and tells clark-kent.pl not to worry
about it.
For the purposes of this change a duplicate report is
one where report.schedule has identical values for report,
(output) folder, runner, run_time, and email.
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Fri, 8 Nov 2019 22:09:03 +0000 (17:09 -0500)]
LP1851882 Relase Notes (Angular catalog hold types)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jennifer Weston <jennifer.weston@equinoxinitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Fri, 8 Nov 2019 22:02:48 +0000 (17:02 -0500)]
LP1851882 Angular catalog recall/force/part holds
Adds entry points for placing Recall, Force, and Part-level holds.
For any item-level hold type, the user now has the option to cycle
between Item, Recall, and Force hold types. The selected type affects
the full batch of holds.
For title-level holds, the user now has the option to select a part as
the hold target for each hold in the list. Part selection is optional.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jennifer Weston <jennifer.weston@equinoxinitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Thu, 30 Jul 2020 16:23:15 +0000 (12:23 -0400)]
LP1872867 Staff catalog filters use search labels
The Angular staff catalog now displays the search_label value for all of
the coded-value-map filters (search format, item type, etc.) when
available. It falls back to the 'value' field when no search_label exists.
If a value is not opac_visible, the text "(Hidden)" is appended to the
label.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org>
Chris Sharp [Thu, 24 Sep 2020 17:18:39 +0000 (13:18 -0400)]
LP#
1776954 - Add release notes
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Dan Scott [Thu, 14 Jun 2018 17:59:42 +0000 (13:59 -0400)]
LP#
1776954 Avoid empty string for tcn_source
The tcn_source for some records is an empty string, instead of the database
default of 'AUTOGEN', because the Perl record import code avoids a Perl warning
in the logger info call by setting the value to an empty string if it can't
find any other source (e.g. OCLC number). Unfortunately, the empty string then
gets passed to the database, meaning that it satisfies the non-NULL constraint
and does not invoke the default value of 'AUTOGEN'.
The resulting MARCXML then contains an empty, self-closing 901 $b subfield
(<subfield code="b"/>) that causes an error for some other applications, such
as Zotero, which do not anticipate empty subfields.
The simple fix applied here is to follow the example for $source and $tcn of
not setting the value of the tcn_source field in the bib record object if the
corresponding variable evaluates to false (such as if it's an empty string).
To test: create a basic record in the MARC editor that includes minimal fields
(for example, a 100 and 245) so that it has no TCN source to extract. Check the
MARCXML served up by SuperCat ("curl
http://<hostname>/opac/extras/supercat/retrieve/marcxml-uris/record/<bib-id>").
Before this patch, it will have a self-closing 901 $b subfield. After applying
this patch and creating a new test record, the new test record will have a
901$b subfield with the value 'AUTOGEN'.
A site that has been running without this patch for a long time might want to
check how many bib records they have with an empty tcn_source:
SELECT COUNT(*) FROM biblio.record_entry WHERE deleted IS FALSE AND tcn_source = '';
Sites can fix the problem by issuing UPDATE statements to set the 901$b to a value
like 'AUTOGEN' or 'Unknown'. They should probably do it per-record, however, to
avoid locking the table in a huge commit.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jane Sandberg [Wed, 19 Aug 2020 23:22:43 +0000 (16:22 -0700)]
LP1882828: Fix issues with displaying cataloged resources in Pull List
I had mistakenly used switchMap, when I should have used mergeMap. This
led to erroneously canceled subscriptions, leaving rows out of the pull
list.
This commit also uses getRows, rather than manually setting the
GridDataSource's data.
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Thu, 24 Sep 2020 15:59:02 +0000 (11:59 -0400)]
LP#
1882825: (follow-up) include update number
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Thu, 24 Sep 2020 15:58:08 +0000 (11:58 -0400)]
LP#
1835127: (follow-up) fixes to update script
- include the version number stamp
- adjust the permission IDs
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jason Boyer [Thu, 24 Sep 2020 12:03:33 +0000 (08:03 -0400)]
Repair Permission Seed Data
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Chris Sharp [Wed, 23 Sep 2020 20:47:33 +0000 (16:47 -0400)]
LP1882825 - Stamp upgrade script
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jane Sandberg [Tue, 9 Jun 2020 20:51:24 +0000 (13:51 -0700)]
LP1882825: Add setting for booking pull list grid
Steps to test:
[1] Go to the Booking Pull List.
[2] Change the grid around and try to save.
[3] Note in your browser console an error message: "Error saving columns: No user or workstation setting type exists for eg.grid.booking.pull_list"
[4] Run the database migration included in this commit.
[5] Repeat steps 1-2.
[6] Note that no error message appears.
[7] Try exiting Evergreen and coming back (using the same workstation). Note that your changes to the grid have stuck!
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>