working/Evergreen.git
5 years agoLP#1850547: (follow-up) add ability to search Boolean fields user/gmcharlt/lp1850547-angular-acquisitions-search
Galen Charlton [Fri, 31 Jul 2020 21:08:14 +0000 (17:08 -0400)]
LP#1850547: (follow-up) add ability to search Boolean fields

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1850547: release notes for Angular Acquisitions Search
Galen Charlton [Fri, 31 Jul 2020 16:10:39 +0000 (12:10 -0400)]
LP#1850547: release notes for Angular Acquisitions Search

The general test plan for the feature includes:

- verifying that results are retrieved as expected
- verifying that default searches can be saved and cleared
  and are used to populate the form.
- verifying that the run immediately checkbox works as expected
- verifying that grid result sorting and filtering works
  as expected
- verifying that links to POs, providers, catalog records,
  etc. find their correct targets

Sponsored-by: Evergreen Community Development Initiative
Sponsored-by: Georgia Public Library Service
Sponsored-by: Indiana State Library
Sponsored-by: C/W MARS
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1850547: add 50px of bottom margin the Angular interface across the board
Galen Charlton [Tue, 25 Feb 2020 18:01:14 +0000 (13:01 -0500)]
LP#1850547: add 50px of bottom margin the Angular interface across the board

This fixes a problem where the bottom of some interfaces was getting
clipped.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1850547: Angular Acquistions Search
Galen Charlton [Tue, 22 Oct 2019 19:29:40 +0000 (15:29 -0400)]
LP#1850547: Angular Acquistions Search

This patch adds the Angular application for acquisitions search
and links the Angular and AngularJS navbars to it.

Includes contributions by Mike Rylander and Jason Etheridge.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
5 years agoLP#1850547: Angular Acq Search: Perl API changes
Mike Rylander [Thu, 31 Oct 2019 19:23:22 +0000 (15:23 -0400)]
LP#1850547: Angular Acq Search: Perl API changes

This patch makes a variety of changes to methods used by
acquisitions search and retrieval. The overall intention of this
patch is to not change functionality used by the old Dojo
search interface but to add support for new functionality for
the Angular search form.

Specific changes include:

open-ils.acq.*.unified_search
-----------------------------
* Add __age (interval), __starts, __ends, __gt, and __lt operators.

Update __between to support __castdate modifier, for a more natural
comparison of dates entered by humans to timestamps stored in the
database.

* fix sorting by line item attributes

* add support for __gte, __gt, __lte, and __lt for acqlia searches

* add permissions checks for retrieving POs and invoices via
  unified_search

* improvements to server-side sorting of search results

- create joins for aou, acqim, and acqipm as needed
- look up identity column for a class rather than assuming
  that it's always 'id'

* allow searching on an explicit null value

This adjusts the special logic introduced in LP#1031535 so
that explicitly searching with a field set to not null (e.g.,
when using the Angular grid 'exists' filter) will work.

* add __isnotnull as an acq search field modifier

* allow __fuzzy to override au_by_id in unified search

* Sort by remote selector column when sort-on-link is requested and
  selector exists

* Add additional fleshing for purchase order, selection lists,
  and invoice searches.

* Add au_by_id option

This specifies performing queries on au-linked fields by
ID rather than adding joins to query the fields by user
barcode or username, etc.

* Implement "contains" operator for searches on provider
  fields.

This is similar to how user searches are handled.

Other methods
-------------
* teach open-ils.acq.lineitem.retrieve more fleshing

In particular, teach it how to flesh the LI provider, Vandelay queue,
creator, editor, selector, and claim policy so that Angular LI search
can display them without having to make additional server requests.

* clarify open-ils.acq.picklist.clone

Method is now clear that _nothing_ of the acq.picklist row
itself gets copied over.

This patch contains work by Mike Rylander, Galen Charlton, and Jason
Etheridge.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1850547: add views for PO and LI state labels
Galen Charlton [Tue, 11 Feb 2020 19:18:49 +0000 (14:18 -0500)]
LP#1850547: add views for PO and LI state labels

This patch adds two new views, acq.po_state_label and
acq.li_state_label, to map from the state codes to human-friendly
labels in a way that allows the labels to be retrieved and
translated.

This patch also changes the fieldmapper label of the PO
and LI state column from "State" to "Status".

This patch includes contributions by Mike Rylander.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
5 years agoLP#1862022: add more permissions to stock Acquisitions and Acq Admin profiles
Galen Charlton [Wed, 5 Feb 2020 00:52:25 +0000 (19:52 -0500)]
LP#1862022: add more permissions to stock Acquisitions and Acq Admin profiles

This patch makes the stock Acquisitions and Acquisitions Administrator
profiles better able to use the acquisitions modules out of the box.

The permissions added are:

Acquisitions Administrator Profile
-----------------------------------------
VIEW_FUND
VIEW_FUNDING_SOURCE
VIEW_FUND_ALLOCATION
VIEW_PICKLIST
VIEW_PROVIDER
VIEW_PURCHASE_ORDER
VIEW_INVOICE
CREATE_PICKLIST
ACQ_ADD_LINEITEM_IDENTIFIER
ACQ_SET_LINEITEM_IDENTIFIER
MANAGE_FUND
CREATE_INVOICE
CREATE_PURCHASE_ORDER
IMPORT_ACQ_LINEITEM_BIB_RECORD
IMPORT_ACQ_LINEITEM_BIB_RECORD_UPLOAD
MANAGE_CLAIM
MANAGE_PROVIDER
MANAGE_FUNDING_SOURCE
RECEIVE_PURCHASE_ORDER
ADMIN_ACQ_LINEITEM_ALERT_TEXT
UPDATE_FUNDING_SOURCE
UPDATE_PROVIDER
VIEW_IMPORT_MATCH_SET
VIEW_MERGE_PROFILE
IMPORT_MARC

Acquisitions Profile
-----------------------------------------
ACQ_ADD_LINEITEM_IDENTIFIER
ACQ_SET_LINEITEM_IDENTIFIER
ADMIN_ACQ_FUND
ADMIN_FUND
ACQ_INVOICE-REOPEN
ADMIN_ACQ_DISTRIB_FORMULA
ADMIN_INVOICE
IMPORT_ACQ_LINEITEM_BIB_RECORD_UPLOAD
VIEW_IMPORT_MATCH_SET
VIEW_MERGE_PROFILE

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1850547: Seed data for Angular acquisitions search
Galen Charlton [Mon, 20 Jan 2020 22:42:14 +0000 (17:42 -0500)]
LP#1850547: Seed data for Angular acquisitions search

* grid persistance WS settings
* retrieve-results-immediately sticky checkbox settings
* default saved searches settings

Sponsored-by: Evergreen Community Development Initiative
Sponsored-by: Georgia Public Library Service
Sponsored-by: Indiana State Library
Sponsored-by: C/W MARS
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1850547: eg-date-select: let blur trigger emitting changes
Galen Charlton [Wed, 8 Jul 2020 20:25:47 +0000 (16:25 -0400)]
LP#1850547: eg-date-select: let blur trigger emitting changes

(Otherwise, you have to select the calendar button or hit
 return inisde the input)

Sponsored-by: Evergreen Community Development Initiative
Sponsored-by: Georgia Public Library Service
Sponsored-by: Indiana State Library
Sponsored-by: C/W MARS
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1850547: eg-org-select: allow applyOrg[Id] to clear the org unit
Galen Charlton [Mon, 2 Mar 2020 17:30:47 +0000 (12:30 -0500)]
LP#1850547: eg-org-select: allow applyOrg[Id] to clear the org unit

Sponsored-by: Evergreen Community Development Initiative
Sponsored-by: Georgia Public Library Service
Sponsored-by: Indiana State Library
Sponsored-by: C/W MARS
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1850547: new eg-interval-input: Angular component for inputting time intervals
Galen Charlton [Fri, 31 Jan 2020 23:13:59 +0000 (18:13 -0500)]
LP#1850547: new eg-interval-input: Angular component for inputting time intervals

Usage:

   <eg-interval-input [(ngModel)]="interval">
   </eg-interval-input>

This provides a simple combination of a numeric input and a
drop-down for time interval units.

Sponsored-by: Evergreen Community Development Initiative
Sponsored-by: Georgia Public Library Service
Sponsored-by: Indiana State Library
Sponsored-by: C/W MARS
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1850547: eg-grid: disable filter controls while fetching data
Galen Charlton [Wed, 26 Feb 2020 19:49:31 +0000 (14:49 -0500)]
LP#1850547: eg-grid: disable filter controls while fetching data

This avoids situations where the user who is quick on the mark
tries to set a filter condition but not see it take effect
when the original query returns results.

Sponsored-by: Evergreen Community Development Initiative
Sponsored-by: Georgia Public Library Service
Sponsored-by: Indiana State Library
Sponsored-by: C/W MARS
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1850547: eg-grid: Add ignoreFields support to suppress selected IDL-generated...
Mike Rylander [Tue, 25 Feb 2020 18:24:24 +0000 (13:24 -0500)]
LP#1850547: eg-grid: Add ignoreFields support to suppress selected IDL-generated grid fields

This adds an ignoreFields attribute to eg-grid to specify IDL fields
that should not be automatically added as columns to the grid.

Sponsored-by: Evergreen Community Development Initiative
Sponsored-by: Georgia Public Library Service
Sponsored-by: Indiana State Library
Sponsored-by: C/W MARS
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1850547: eg-grid: Add passthrough capabilities for click-to-dropdown on linked...
Mike Rylander [Fri, 7 Feb 2020 22:43:55 +0000 (17:43 -0500)]
LP#1850547: eg-grid: Add passthrough capabilities for click-to-dropdown on linked fields

Sponsored-by: Evergreen Community Development Initiative
Sponsored-by: Georgia Public Library Service
Sponsored-by: Indiana State Library
Sponsored-by: C/W MARS
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1850547: eg-grid: indicate error condition to user if data source throws one
Galen Charlton [Fri, 31 Jan 2020 22:21:36 +0000 (17:21 -0500)]
LP#1850547: eg-grid: indicate error condition to user if data source throws one

Sponsored-by: Evergreen Community Development Initiative
Sponsored-by: Georgia Public Library Service
Sponsored-by: Indiana State Library
Sponsored-by: C/W MARS
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1850547: eg-grid: use bolder styling for the 'Nothing to Display' message
Galen Charlton [Sat, 25 Jan 2020 13:16:19 +0000 (08:16 -0500)]
LP#1850547: eg-grid: use bolder styling for the 'Nothing to Display' message

Sponsored-by: Evergreen Community Development Initiative
Sponsored-by: Georgia Public Library Service
Sponsored-by: Indiana State Library
Sponsored-by: C/W MARS
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1850547: eg-combobox: handle cases where selectedId gets cleared
Galen Charlton [Wed, 26 Feb 2020 17:04:45 +0000 (12:04 -0500)]
LP#1850547: eg-combobox: handle cases where selectedId gets cleared

Sponsored-by: Evergreen Community Development Initiative
Sponsored-by: Georgia Public Library Service
Sponsored-by: Indiana State Library
Sponsored-by: C/W MARS
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1850547: eg-combobox: teach it to accommodate idlClass changes
Galen Charlton [Wed, 26 Feb 2020 16:42:53 +0000 (11:42 -0500)]
LP#1850547: eg-combobox: teach it to accommodate idlClass changes

This can happen in dynamically constructed search forms such
as the acquisitions search form.

Sponsored-by: Evergreen Community Development Initiative
Sponsored-by: Georgia Public Library Service
Sponsored-by: Indiana State Library
Sponsored-by: C/W MARS
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1850547: eg-combobox: add per-IDL-class formatting
Galen Charlton [Wed, 26 Feb 2020 15:39:10 +0000 (10:39 -0500)]
LP#1850547: eg-combobox: add per-IDL-class formatting

This patch teaches eg-combobox to apply display templates
and label formatters for when idlClass is set. Currently templates
are defined for acqf (to display the fund as "FUND_CODE (YEAR)" and
acpl (to display the shelving location as "LABEL (OWNING_LIBRARY)".

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1850547: eg-combobox: set a limit on number of entries fetched for idlClass
Galen Charlton [Thu, 13 Feb 2020 16:39:42 +0000 (11:39 -0500)]
LP#1850547: eg-combobox: set a limit on number of entries fetched for idlClass

The automatically-created data source for eg-combobox when used
in idlClass will now limit itself to 100 entries in order to avoid
scenarios where it attempts to fetch all patrons in the database
or the like.

Sponsored-by: Evergreen Community Development Initiative
Sponsored-by: Georgia Public Library Service
Sponsored-by: Indiana State Library
Sponsored-by: C/W MARS
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1850547: eg-combobox: handle startId if idlClass is set
Galen Charlton [Mon, 20 Jan 2020 17:12:53 +0000 (12:12 -0500)]
LP#1850547: eg-combobox: handle startId if idlClass is set

This patch teaches the Angular eg-combobox component to retrieve
the record indicated by the startId attribute when an IDL class
is specified.

Sponsored-by: Evergreen Community Development Initiative
Sponsored-by: Georgia Public Library Service
Sponsored-by: Indiana State Library
Sponsored-by: C/W MARS
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1850547: new Angular file-reader component
Galen Charlton [Fri, 8 Nov 2019 23:39:34 +0000 (18:39 -0500)]
LP#1850547: new Angular file-reader component

This adds a ControlValueAccessor wrapper around a file
reader form input. Any file loaded via that input is interpreted
as a text file whose lines are to be split into an array on
newlines, with leading and trailng whitespace removed.

Usage is:

<eg-file-reader [(ngModel)]="fileContents">
</eg-file-reader>

Sponsored-by: Evergreen Community Development Initiative
Sponsored-by: Georgia Public Library Service
Sponsored-by: Indiana State Library
Sponsored-by: C/W MARS
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1850547: apply transformations to fields used in a BETWEEN operation
Mike Rylander [Thu, 31 Oct 2019 22:09:24 +0000 (18:09 -0400)]
LP#1850547: apply transformations to fields used in a BETWEEN operation

This patch teaches cstore and friends how to apply transformations to
fields used in a BETWEEN operation.

Sponsored-by: Evergreen Community Development Initiative
Sponsored-by: Georgia Public Library Service
Sponsored-by: Indiana State Library
Sponsored-by: C/W MARS
Signed-off-by: Mike Rylander <mrylander@gmail.com>
5 years agoLP#1754110: (follow-up) release notes tweak
Galen Charlton [Thu, 30 Jul 2020 14:26:36 +0000 (10:26 -0400)]
LP#1754110: (follow-up) release notes tweak

Update the release notes to indicate which staff
client template one would typically customize to
make use of this feature.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agolp1754110 Patron Reg Field Label Override Release Notes
Kyle Huckins [Tue, 11 Sep 2018 17:38:01 +0000 (17:38 +0000)]
lp1754110 Patron Reg Field Label Override Release Notes

- Add release notes for improvements to draw_field_label

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1754110 Patron Reg. Field Label Override
Kyle Huckins [Wed, 7 Mar 2018 17:47:23 +0000 (17:47 +0000)]
LP#1754110 Patron Reg. Field Label Override

Supply additional parameter to draw_field_label macro to
apply custom labels to patron reg/edit fields.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1731370: Distinguishing new copies and volumes with aditional means (WCAG 1.4.1)
Jane Sandberg [Tue, 9 Oct 2018 00:24:20 +0000 (17:24 -0700)]
LP1731370: Distinguishing new copies and volumes with aditional means (WCAG 1.4.1)

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agolp1731370 CSS styling for new items and volumes
Jason Etheridge [Wed, 12 Sep 2018 12:10:32 +0000 (08:10 -0400)]
lp1731370 CSS styling for new items and volumes

previous commit just handled volumes, this handles copies

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agolp1731370 CSS styling for new items and volumes
Jason Etheridge [Wed, 5 Sep 2018 13:13:49 +0000 (09:13 -0400)]
lp1731370 CSS styling for new items and volumes

in vol/copy editor

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1851541 - Add audio alert for item alert popups
Josh Stompro [Wed, 6 Nov 2019 18:24:36 +0000 (12:24 -0600)]
LP#1851541 - Add audio alert for item alert popups

Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1735568, LP1830443: MARC Editor Fixes
Christine Morgan [Thu, 21 Nov 2019 17:53:11 +0000 (12:53 -0500)]
LP1735568, LP1830443: MARC Editor Fixes

These style changes to the current MARC Editor fix the indicator box
resize problem and the blank subfield problem while improving usability.
Colors were tested using the Chrome extension Colorblindly, a
colorblindness simulator.

Signed-off-by: Christine Morgan <cmorgan@noblenet.org>
Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1889296 Staffcat holds request time includes time
Bill Erickson [Tue, 28 Jul 2020 21:21:28 +0000 (17:21 -0400)]
LP1889296 Staffcat holds request time includes time

Display the hold request time as date plus time in the general purpose
Angluar holds grid.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP#1776757: (follow-up) keep input for amount as type "number"
Galen Charlton [Tue, 28 Jul 2020 14:43:25 +0000 (10:43 -0400)]
LP#1776757: (follow-up) keep input for amount as type "number"

Doing this preserves the form validation that ensures that
the user cannot submit the form with a non-numeric amount.

This does lose forcing the display of default amounts such as
"1.50" to two decimal places, but I'm figuring that form validation
takes priority pending a longer-term solution such as a custom
value validator or using ng-currency.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agolp1776757 Default Billing Price Not Updating
Mike Risher [Wed, 29 Jan 2020 20:20:35 +0000 (20:20 +0000)]
lp1776757 Default Billing Price Not Updating

Fix the following bug: When billing a patron and one switches from
one billing type to a different billing type, the price isn't updating
to show the new default price

Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1795469: Opac holdings sort now considers CN suffix
Jane Sandberg [Wed, 3 Oct 2018 16:04:54 +0000 (09:04 -0700)]
LP1795469: Opac holdings sort now considers CN suffix

To test:
1) Create a bunch of Call Number suffixes in Administration
-> Server Administration -> Call Number Suffixes.
2) Go to a bib record, and add a bunch of holdings,
all with the same call number label, owning/circ libraries,
item numbers, and parts (if using parts) but with different
barcodes and CN suffixes.
3) Look at the OPAC view of these holdings.  Note that they
are in order by barcode, without any consideration for
the CN suffix.
4) Apply this commit.
5) Look at the OPAC view again.  Note that they are now sorted
by CN suffix, and then by barcode.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1882591 Empty combobox avoids default selection
Bill Erickson [Mon, 8 Jun 2020 20:03:14 +0000 (16:03 -0400)]
LP1882591 Empty combobox avoids default selection

When clearing a combobox value, no combobox options are displayed in the
dropdown.  This allows users to clear the value then tab out of the box
without the typeahead magic forcing selection of the first entry.

The full list can still be displayed by clicking on the combobox.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1878079 Staffcat Add Holdings action support
Bill Erickson [Mon, 27 Jul 2020 14:58:52 +0000 (10:58 -0400)]
LP1878079 Staffcat Add Holdings action support

Teaches the staff catalog Add Holdings button to open the holdings
editor using the appropriate parameters.  If the holdings maintenance
grid is active, arguments to pass are based on the grid selection.
Otherwise it simply open the item editor with a single call number /
copy to be created 'here'.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP1878079 Staffcat 'Edit' items / call numbers support
Bill Erickson [Wed, 13 May 2020 16:17:19 +0000 (12:17 -0400)]
LP1878079 Staffcat 'Edit' items / call numbers support

Adds support to the Angular staff catalog to properly handle requests
to Edit Items, Edit Call Numbers, and Edit Call Numbers and Items.
Prior to his change, these operations would behave more like Add
operations than Edit operations.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP1878079 Staffcat Add Call Nums honors selected orgs
Bill Erickson [Mon, 11 May 2020 19:10:37 +0000 (15:10 -0400)]
LP1878079 Staffcat Add Call Nums honors selected orgs

When adding new call numbers from the Angular staff catalog Holdings
View grid, take all selected grid rows into consideration when
determining how many call numbers to add and what their owning libs
should be.

To test:
* Navigate to the Holdings View tab of a record detail page in the Angular
  staff catalog.
* Select multiple rows in the grid which are org unit-only rows (i.e.
  the row does not refer to a specific call number or item).
* From the action menu / right client menu, select "Add Callnumbers"
* Confirm that a call number entry for each selected org unit is present
  in the spawned holdings editor.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP#1802166: stamp schema update
Galen Charlton [Mon, 27 Jul 2020 14:55:19 +0000 (10:55 -0400)]
LP#1802166: stamp schema update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1802166: (follow-up) document a way to clear names from already-purged patron...
Galen Charlton [Mon, 27 Jul 2020 14:51:37 +0000 (10:51 -0400)]
LP#1802166: (follow-up) document a way to clear names from already-purged patron records

For reference, the following SQL will clear the preferred name
and name keyword fields from already-purged records:

UPDATE actor.usr
SET pref_prefix = NULL,
    pref_first_given_name = NULL,
    pref_second_given_name = NULL,
    pref_family_name = NULL,
    pref_suffix = NULL,
    name_keywords = NULL
WHERE usrname ~ ('^' || id || '-PURGED')
AND NOT active
AND deleted
AND (
    pref_prefix IS NOT NULL OR
    pref_first_given_name IS NOT NULL OR
    pref_second_given_name IS NOT NULL OR
    pref_family_name IS NOT NULL OR
    pref_suffix IS NOT NULL OR
    name_keywords IS NOT NULL
);

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLp 1802166: Purge User Name Keywords
Jason Stephenson [Fri, 15 Feb 2019 18:33:08 +0000 (13:33 -0500)]
Lp 1802166: Purge User Name Keywords

Add the name_keywords field to the fields that get set to null in
actor.usr_delete.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLp 1802166: Purge User Preferred Names
Jason Stephenson [Fri, 15 Feb 2019 17:21:19 +0000 (12:21 -0500)]
Lp 1802166: Purge User Preferred Names

When the preferred names feature was added, the new fields were not
added to the update in the actor.usr_delete function.  This commit
sets those new fields to NULL in that function.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1248734: stamp schema update
Galen Charlton [Mon, 27 Jul 2020 14:19:29 +0000 (10:19 -0400)]
LP#1248734: stamp schema update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1248734: (follow-up) add new indexes to schema update script
Galen Charlton [Mon, 27 Jul 2020 14:16:37 +0000 (10:16 -0400)]
LP#1248734: (follow-up) add new indexes to schema update script

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1248734: add release notes
Jane Sandberg [Sat, 25 Jul 2020 14:15:40 +0000 (07:15 -0700)]
LP1248734: add release notes

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1248734: Add workstation to in-house use
Chris Sharp [Tue, 16 Jun 2020 15:56:33 +0000 (11:56 -0400)]
LP1248734: Add workstation to in-house use

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1819542 Hanging transits can cause checkins to fail
Jason Etheridge [Fri, 5 Jun 2020 13:00:53 +0000 (09:00 -0400)]
LP1819542 Hanging transits can cause checkins to fail

So two bits of defensive programming for do_checkin:

    sub fix_broken_transit_status
    sub cancel_transit_if_circ_exists

I don't know if the first one does anything useful, but the idea is that it'll
at least temporarily set the copy status to In Transit for any status checks
within the do_checkin method that test for that.  It doesn't actually repair
the status permanently (at least in the case of, say, an existing transit being
re-used for a ROUTE_ITEM event).  We may want to do that.

The second one will abort an associated transit (including retargeting a hold
for a hold transit) if both an active transit and an active circulation exist
for the item.  This handles the situation I've been using to test the bug:

    1) transit an item (CONC90000436 in Concerto)
    2) artificially change its status directly in the database (for example, to
       Available)
    3) check it out to a patron (99999376864 in Concerto), noting
       that the Cancel Transit prompt does not get triggered
    4) check in the item

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP1858701: prevent doubles slashes in opac iframe urls
Jason Boyer [Wed, 8 Jan 2020 18:37:01 +0000 (13:37 -0500)]
LP1858701: prevent doubles slashes in opac iframe urls

The CGI module (used by mkurl()) does not like it
if we have two slashes in a URL sort/of/like//this.
Things work but the path portion of the URL is doubled
each time mkurl is used on it. This branch fixes 2
causes in the staff OPAC.

Signed-off-by: Jason Boyer <JBoyer@eoli.info>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP#1833300: wrap SRU query in parentheses before appending site param
Jeff Davis [Tue, 18 Jun 2019 20:48:44 +0000 (13:48 -0700)]
LP#1833300: wrap SRU query in parentheses before appending site param

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1739288: report back on invalid barcodes in Item Status screen
Jane Sandberg [Mon, 19 Aug 2019 19:43:33 +0000 (12:43 -0700)]
LP1739288: report back on invalid barcodes in Item Status screen

To test:

1) Make a text file with both valid and invalid item barcodes.
2) Go to Circulation > Item Status and upload your file.
3) Note that the valid barcodes result in rows in the item status
screen, and the invalid barcodes are not displayed anywhere.
4) Apply this commit.
5) Repeat step 2.
6) Notice that the invalid barcodes are now reported in a new alert.
7) Make a text file with only valid barcodes and upload it.
8) Upload it.  Notice that the alert disappears.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Josh Stompro <stompro@stompro.org>
LP1739288: Add a summary report to the list of bad barcodes.

(^^ squash of commit written by Josh Stompro)

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1847784: (docs) refer to the badge score generator cron job by name
Galen Charlton [Tue, 15 Oct 2019 22:32:19 +0000 (18:32 -0400)]
LP#1847784: (docs) refer to the badge score generator cron job by name

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
5 years agoLP#1847784: install badge_score_generator.pl by default
Galen Charlton [Tue, 15 Oct 2019 22:29:40 +0000 (18:29 -0400)]
LP#1847784: install badge_score_generator.pl by default

To test
-------
[1] Perform an Evergreen installation/upgrade.
[2] Verify that badge_score_generator.pl is present
    in /openils/bin (or an alternative installation
    location specified during the ./configure step).

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
5 years agoLP1867524: Add a help popover to the End field in the Closed Dates Editor
Jane Sandberg [Sun, 15 Mar 2020 15:49:48 +0000 (08:49 -0700)]
LP1867524: Add a help popover to the End field in the Closed Dates Editor

To test:
1) Go to Administration > Local Administration > Closed Dates Editor.
2) Click Add Closing.
3) Under closing type, choose Multiple Day.
4) Note that the End field has no guidance for the user.
5) Apply this commit.
6) Repeat steps 1-3.
7) Notice that the End field has some clarifying guidance for the user.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1852443 - Re-label duplicate-named "all circulations" source
Chris Sharp [Wed, 13 Nov 2019 15:28:53 +0000 (10:28 -0500)]
LP#1852443 - Re-label duplicate-named "all circulations" source

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP1747542: Stamp upgrade script
Jason Boyer [Fri, 24 Jul 2020 13:53:16 +0000 (09:53 -0400)]
LP1747542: Stamp upgrade script

Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
5 years agoLP#1747542 - Repair item/user circulation test
Chris Sharp [Mon, 5 Feb 2018 23:58:43 +0000 (18:58 -0500)]
LP#1747542 - Repair item/user circulation test

The action.item_user_circ_test function was previously
ignoring lost or longoverdue and paid-for circulations.
Adding a check for whether the circulation is closed
fixes this.

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
5 years agoLP#1886713: fix issue where AngularJS hotkeys fail to initialize
Galen Charlton [Tue, 7 Jul 2020 20:24:49 +0000 (16:24 -0400)]
LP#1886713: fix issue where AngularJS hotkeys fail to initialize

Fixes a race condition where the navbar service can look for
eg-accesskey attributes before all of the elements that have
them meet the conditions to show up in the DOM.

To test
-------
[1] From an AngularJS part of the staff interface, note that
    hitting F8 sometimes does not perform the retrieve
    last patron action, nor does F8 show up on the list of
    hot keys when you hit "?" outside of an input.
[2] Apply the patch and repeat step 1. This time, the F8
    hotkey should consistently work.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
5 years agoLP1474874: Consistent page headers in the Angular client
Jane Sandberg [Fri, 7 Jun 2019 01:15:56 +0000 (18:15 -0700)]
LP1474874: Consistent page headers in the Angular client

This commit ensures that each screen in the Angular staff client uses
the <eg-staff-banner> component to better orient its users.

This commit also gives the eg-staff-banner some <h1> semantics, per
WebAIM's guidance: "Pages should be structured in a hierarchical manner,
generally with one 1st degree headings (<h1>) being the most important
(usually page titles or main content heading)" -- https://webaim.org/techniques/semanticstructure/

To test:

1) Go to [your-server]/eg2/en-US/staff/catalog/search
2) Confirm that there is a header that gives the page title at the top
of the page.
3) Go to an Angular Vandelay page.
4) Confirm that you see a similar header as in step 2.
5) Go to an Angular Administration page.
6) repeat step 4.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
5 years agoLP1870605: Stamp upgrade script
Jason Boyer [Fri, 24 Jul 2020 12:41:49 +0000 (08:41 -0400)]
LP1870605: Stamp upgrade script

Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
5 years agoLP1870605: Fix typo in emergency closing functions
Steven Callender [Fri, 3 Apr 2020 19:20:39 +0000 (15:20 -0400)]
LP1870605: Fix typo in emergency closing functions

The emergency closing handler was ignoring any
circulations that already had fines due to a typo
in the stage 2 circ and reservation functions.

Signed-off-by: Steven Callender <stevecallender@esilibrary.com>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
5 years agoLP#1705302: Stamping Upgrade Script
Jane Sandberg [Thu, 23 Jul 2020 13:37:07 +0000 (06:37 -0700)]
LP#1705302: Stamping Upgrade Script

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agolp1705302 update description of receipt template
Mike Risher [Tue, 11 Jun 2019 16:57:58 +0000 (09:57 -0700)]
lp1705302 update description of receipt template

Updated editing instructions to give correct syntax and changing name
from receipt templates to Print Templates

Signed-off-by: Mike Risher <mrisher@catalyte.io>
 Changes to be committed:
modified:   src/sql/Pg/950.data.seed-values.sql
new file:   src/sql/Pg/upgrade/XXXX.data.lp1705302-update-receipt-template-setting-descriptions.sql

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP#1775940: Archived Penalties/Messages does not Respect Date Range
Jason Stephenson [Wed, 29 Jan 2020 17:33:30 +0000 (12:33 -0500)]
LP#1775940: Archived Penalties/Messages does not Respect Date Range

This patch implements a.bellenir's suggestion of switching from
setQuery to watchQury in the archiveGrid of the web client circulation
patron app.  It does now appear to respect the date range entered by
the user.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1754387 - User Buckets - Pending Users Enhancement
Josh Stompro [Mon, 3 Feb 2020 19:42:08 +0000 (13:42 -0600)]
LP#1754387 - User Buckets - Pending Users Enhancement

It wasn't possible to load more than 100 users from a barcode file import in
user buckets because of two issues.  The pager was limited to only showing 100
barcodes at a time, and moving any users from the pending list would clear the
pending list.

Here is a branch that makes the following changes.

1. Sets the default number of items to 100 and allows choosing the
  500,1000,10000 options for the pager.

2. When moving users from pending to a bucket, only removes the moved users
  from the pending list.  This allows the user to move a larger number of
  users to a bucket from pending, a batch at a time.

Testing Plan:

Before Changes:

1. Load a file with 110 patron barcodes in the User Buckets, Pending Users interface.
2. See that the pager only allows a max of 100 for the page size.
3. Move one user to a bucket and note that the pending list gets cleared.

After Changes:

1. Load a file with 110 patron barcodes.
2. See that the pager allows for picking larger page sizes.
3. Move one user to a bucket, and note that the pending list removes just that one user.

Another way to see the changes is to pick a pager size of 25, and select all the
entries.  Then move them to a bucket and see that you can continue to move
batches of 25 until you have moved all the pending users.

Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Gina Monti <gmonti@biblio.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1845241: Use the correct API call to Undelete a bib record
Jane Sandberg [Sun, 8 Mar 2020 14:58:09 +0000 (07:58 -0700)]
LP1845241: Use the correct API call to Undelete a bib record

To test:

1) Open up a delete-ready bibliographic record in the Web client
(no attached holdings, no located URI, no open orders attached, etc.)
2) Delete it.
3) Undelete it.  Note that the "Undelete" button briefly turns into a
"Delete" button before changing back to an "Undelete" button.  Note that
the bib record does not show up in search results within the Web client.
4) Apply this commit.
5) Now try undeleting the record again.  Notice that the "Delete" button
does not revert to an "Undelete" button.  Note also that the record is
once again showing up in search results (although you may have to be a
bit creative using search terms, due to search results caching).

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: blake <blake@mobiusconsortium.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1847680: live test for barcode completion
Jeff Davis [Thu, 10 Oct 2019 23:01:06 +0000 (16:01 -0700)]
LP#1847680: live test for barcode completion

Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP1805860: Display long patron names without obscuring input fields
Dan Scott [Tue, 7 Jan 2020 20:05:06 +0000 (15:05 -0500)]
LP1805860: Display long patron names without obscuring input fields

Long patron names can obscure the input fields and menu items on patron
action screens. The only workaround is to reduce the font size using the
browser controls until the input fields and menu items are visible.

While the fixed position saves space at the top of the screen for
typical cases, it can be hard for staff to remember the font-reduction
workaround when they hit a long patron name.

Removing the fixed position CSS also better supports the display of
regular patron names on browsers that are not wide enough to display the
top menu (Search/Circulation/Cataloging/.../Workstation name/Locale) all
on a single line.

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1844365: fix initialization of stat cats in patron registration form
Galen Charlton [Mon, 22 Jun 2020 15:40:08 +0000 (11:40 -0400)]
LP#1844365: fix initialization of stat cats in patron registration form

If you edit a patron and it has (or gets added) a stat cat entry,
then from the registration form click on its inline patron search
link, fetch a patron that has no stat cats, then edit it, the
first patron's stat cats can show up in the registration form.
If the second patron does have stat cats, but not values set
for all of them, then the first patron's stat cat entries can
fill in cases where no entry was previously set.

This patch fixes patronRegSvc's initialization when loading
an existing patron record to avoid this.

To test
-------
[1] Edit a patron and ensure that it has at least one
    statistical category set.
[2] From the patron search link in the patron app tab
    bar, NOT the Search | Patron menu item, search for
    and retrieve a patron that has no stat cats assigned.
[3] Edit the patron. Observe that the first patron's
    stat cat entry displays in the second patron's
    registration form.
[4] Apply the patch and repeats steps 1-3. This time,
    the previous patron's stat cats should not infect
    the second patron's registration form.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Risher <mrisher@catalyte.io>
5 years agolp1775286 Color Indication of Overdue on Items Out
Kyle Huckins [Thu, 23 May 2019 21:47:02 +0000 (21:47 +0000)]
lp1775286 Color Indication of Overdue on Items Out

- Overdue items are highlighted in red in the Items Out UI.
- Ensure overdue-row and lost-row classes handle visited links

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1840294: use dedicated UI for match set admin, rather than auto-generated admin...
Jeff Davis [Tue, 5 May 2020 17:34:36 +0000 (10:34 -0700)]
LP#1840294: use dedicated UI for match set admin, rather than auto-generated admin pages

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1874897 Staff catalog honors classification scheme
Bill Erickson [Fri, 24 Apr 2020 20:09:57 +0000 (16:09 -0400)]
LP1874897 Staff catalog honors classification scheme

Use the org unit setting "cat.default_classification_scheme" to
determine which scheme to use when extracting the bib-level call number
for display in the Angular staff catalog.

This also modifies the API to look the value up so future calls to the
API will Just Work (and it's one less bit of data the browser has to
retrieve).

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1886118 Staff catalog search format repair
Bill Erickson [Fri, 3 Jul 2020 14:05:33 +0000 (10:05 -0400)]
LP1886118 Staff catalog search format repair

Fixes an error in the staff catalog search params builder with regard to
encoding the search format.  The 'format' param should be 'search_format'.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1850555 Item location selector improvements
Bill Erickson [Wed, 20 May 2020 20:36:23 +0000 (16:36 -0400)]
LP1850555 Item location selector improvements

* Ensure that the desired location is always available in the selector
  regardless of whether the staff have permission to use the location.

* Display org unit short name for selected locations simimilar to how
  they are displayed in the selector dropdown.

* Adds an <Unset> option in cases where the new 'required' flag is set
  to false.  This explicitly makes it possible for staff to clear the
  value.

* Gracefully handle cases where locations from no org units are eligible
  for display.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP1850555 Angular Item (Copy) Location Select Component
Bill Erickson [Wed, 6 Nov 2019 17:41:32 +0000 (12:41 -0500)]
LP1850555 Angular Item (Copy) Location Select Component

<eg-item-location-select .../>

Adds a new item location select component which filters the list of
displayed locations based on a permission-check org or a specific
context org unit.

Values in the selector are decorated with the org unit short name in
parens after the location name to clarify the owning lib.

Sandbox example included.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP#1886852: Stamping Upgrade Script
Jason Stephenson [Fri, 17 Jul 2020 11:09:29 +0000 (07:09 -0400)]
LP#1886852: Stamping Upgrade Script

Signed-off-by: Jason Stephenson <jason@sigio.com>
5 years agoLP#1886852: Protect against dupes in hold-copy map function
Mike Rylander [Wed, 8 Jul 2020 17:18:52 +0000 (13:18 -0400)]
LP#1886852: Protect against dupes in hold-copy map function

If the DB function that regenerates the hold-copy maps for a hold
receives duplicate copies in its second parameter, it blows up.  This
commit prevents that by making the list unique at use time.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
5 years agoLP1848573: follow-up: minor changes to IDL labels for the ccs class
Jane Sandberg [Sun, 12 Jul 2020 15:10:26 +0000 (08:10 -0700)]
LP1848573: follow-up: minor changes to IDL labels for the ccs class

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP1848573: Added nice labels to Open-ILS\examples\fm_IDL.xml
Shula Link [Mon, 16 Mar 2020 14:30:27 +0000 (10:30 -0400)]
LP1848573: Added nice labels to Open-ILS\examples\fm_IDL.xml
for copy status

Signed-off-by: Shula Link <slink@gchrl.org>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP#1712854: Disable all server-side sorting, but provide a stub for later, if we...
Mike Rylander [Wed, 12 Sep 2018 13:14:58 +0000 (09:14 -0400)]
LP#1712854: Disable all server-side sorting, but provide a stub for later, if we move that way

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: John Yorio <jyorio@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP#1712854: Add User Alias and User Alias or Display Name columns to shelf list
Mike Rylander [Tue, 11 Sep 2018 21:36:30 +0000 (17:36 -0400)]
LP#1712854: Add User Alias and User Alias or Display Name columns to shelf list

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: John Yorio <jyorio@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP1864056: Don't compare multiple new Date()s
Jason Boyer [Fri, 21 Feb 2020 21:08:36 +0000 (16:08 -0500)]
LP1864056: Don't compare multiple new Date()s

This branch addresses a race condition when
checking out or renewing items.
(The use of minDate in items_out was implicitly
immune to this issue, but that is made explicit
with this patch.)

To test
-------
[1] The race condition would be difficult to reliably
    reproduce directly, although a tool like
    https://github.com/mattzeunert/javascript-clock-speedup
    might help simulate the problem, so to test, verify
    that the following actions do not break:

    * checking out a loan, both with and without
      setting a specific due date
    * renewing a loan with a specific due date
      from the patron items out tab
    * renewing a loan from Circulation -> Renew Items,
      both with and without setting a specific due date.

Signed-off-by: Jason Boyer <JBoyer@eoli.info>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agolp1735828 Copy Bucket multi show status
Mike Risher [Thu, 20 Feb 2020 23:07:30 +0000 (23:07 +0000)]
lp1735828 Copy Bucket multi show status

Revise the web client so that when one is in the copy bucket one can
select multiple entries and do "show status" on all of them.

Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Tiffany Little <tlittle@georgialibraries.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoLP1866546 MARC edit support authority record (un)delete
Bill Erickson [Tue, 10 Mar 2020 14:48:27 +0000 (10:48 -0400)]
LP1866546 MARC edit support authority record (un)delete

Teaches the Angular MARC editor to use PCRUD for deleting and undeleting
authority records instead of erroneously using the bib record delete /
undelete APIs.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
5 years agoForward-port 3.5.0 upgrade script
Bill Erickson [Fri, 26 Jun 2020 14:45:37 +0000 (10:45 -0400)]
Forward-port 3.5.0 upgrade script

Signed-off-by: Bill Erickson <berickxx@gmail.com>
5 years ago3.5 Translations PO files
Bill Erickson [Fri, 12 Jun 2020 15:49:41 +0000 (11:49 -0400)]
3.5 Translations PO files

Signed-off-by: Bill Erickson <berickxx@gmail.com>
5 years ago3.5 Translations newpot
Bill Erickson [Fri, 12 Jun 2020 15:46:19 +0000 (11:46 -0400)]
3.5 Translations newpot

Signed-off-by: Bill Erickson <berickxx@gmail.com>
5 years agoLP1884787 ng lint and unit test repairs
Bill Erickson [Wed, 24 Jun 2020 16:25:16 +0000 (12:25 -0400)]
LP1884787 ng lint and unit test repairs

Minor lint update, some of which affected tests and required a few
additional test spec updates.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1884787: update Angular staff client to work with momement-timezone >= 0.5.29
Galen Charlton [Tue, 23 Jun 2020 18:39:45 +0000 (14:39 -0400)]
LP#1884787: update Angular staff client to work with momement-timezone >= 0.5.29

Now that moment-timezone ships with an index.d.ts (as of 0.5.29), this
patch updates how moment-timezone is imported and used since we
now have to care more about type-checking.

Among other things, this updates the ScheduleRow interface to account
for the fact that with the stricter type checking coming from the recent
moment-timezone change, ScheduleRow.time as a moment.Moment object
cannot be in the same interface as a string index type.

To test
-------
[1] Make sure that results of  'npm run test' are clean.
[2] Create a reservation or two in the booking interface and
    verify that scheduled reservations show up on the grid
    in the create reservations page.
[3] Verify that the icons indicating whether resources are
    available or not at a given time are correct on the
    create reservations grid.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
5 years agoLP#1884787: update package-lock.json
Galen Charlton [Tue, 23 Jun 2020 18:39:13 +0000 (14:39 -0400)]
LP#1884787: update package-lock.json

Reflects current npm update state as of 2020-06-23.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
5 years agoLP#1884787: bump up moment and moment-timezone
Galen Charlton [Tue, 23 Jun 2020 18:38:44 +0000 (14:38 -0400)]
LP#1884787: bump up moment and moment-timezone

Latest as of 2020-06-23.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
5 years agoLP#1851306: (follow-up) add additional test stubs user/sandbergja/testing
Galen Charlton [Mon, 22 Jun 2020 21:43:07 +0000 (17:43 -0400)]
LP#1851306: (follow-up) add additional test stubs

Accounting for changes in ReservationActionsService.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1851306: stamp DB update
Galen Charlton [Thu, 18 Jun 2020 20:27:19 +0000 (16:27 -0400)]
LP#1851306: stamp DB update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1851306: (follow-up) fix printing of destination
Galen Charlton [Thu, 18 Jun 2020 20:13:21 +0000 (16:13 -0400)]
LP#1851306: (follow-up) fix printing of destination

Updated the default template for booking capture
transit slips to print the shortname of the destination.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1851306: (follow-up) add get_org_unit() helper to print templates
Galen Charlton [Thu, 18 Jun 2020 20:12:08 +0000 (16:12 -0400)]
LP#1851306: (follow-up) add get_org_unit() helper to print templates

The immediate use case is allowing the destination library's
shortname to print on booking capture slips.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP#1851306: (follow-up) fix AngularJS staff client navbar link
Galen Charlton [Thu, 18 Jun 2020 17:56:40 +0000 (13:56 -0400)]
LP#1851306: (follow-up) fix AngularJS staff client navbar link

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoLP1851306: Port Capture Booking Resource to Angular
Jane Sandberg [Sun, 17 Nov 2019 04:50:00 +0000 (20:50 -0800)]
LP1851306: Port Capture Booking Resource to Angular

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years ago3.5 Post-Beta Release Notes Additions
Bill Erickson [Fri, 12 Jun 2020 14:20:20 +0000 (10:20 -0400)]
3.5 Post-Beta Release Notes Additions

Signed-off-by: Bill Erickson <berickxx@gmail.com>
5 years agoLP1883267 Minor release note tweaks
Bill Erickson [Fri, 12 Jun 2020 15:20:29 +0000 (11:20 -0400)]
LP1883267 Minor release note tweaks

Signed-off-by: Bill Erickson <berickxx@gmail.com>
5 years agoLP#1883267: Adding release notes
Mike Rylander [Fri, 12 Jun 2020 14:55:29 +0000 (10:55 -0400)]
LP#1883267: Adding release notes

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>