contrib/Conifer.git
6 years agoSidestep dependency created by conifer.last_use view
Dan Scott [Thu, 21 Nov 2019 21:20:02 +0000 (16:20 -0500)]
Sidestep dependency created by conifer.last_use view

Signed-off-by: Dan Scott <dan@coffeecode.net>
6 years agoAvoid auto_renew update for NOT NULL pain
Dan Scott [Thu, 21 Nov 2019 20:57:32 +0000 (15:57 -0500)]
Avoid auto_renew update for NOT NULL pain

Signed-off-by: Dan Scott <dan@coffeecode.net>
6 years agoAvoid having to update all action.circulation rows!
Dan Scott [Thu, 21 Nov 2019 19:58:07 +0000 (14:58 -0500)]
Avoid having to update all action.circulation rows!

Signed-off-by: Dan Scott <dan@coffeecode.net>
6 years agoMerge remote-tracking branch 'upstream/rel_3_4' into rel_3_4_mergery_tpac
Dan Scott [Thu, 21 Nov 2019 19:23:37 +0000 (14:23 -0500)]
Merge remote-tracking branch 'upstream/rel_3_4' into rel_3_4_mergery_tpac

6 years agoLP1607922: Receiving items on page 2 of search results
Jane Sandberg [Tue, 30 Jul 2019 20:54:10 +0000 (13:54 -0700)]
LP1607922: Receiving items on page 2 of search results

Previously, if a user selected a bunch of line items on two consecutive
pages of acq search results, and tried to receive items from the second
page, the operation would fail.

This issue was caused by Evergreen caching IDs of selected line items
from page 1, but not caching the data that went along with them.

To test:

1) Go to Acquisitions > General Search
2) In the Select Search Field dropdown, choose LI - State.
3) Set the state to on-order.
4) Click Search.
5) Click the check mark to select all results on the first page.
6) Click the Next button.
7) Click the check mark to select all results on the second page.
8) On the top --Actions-- menu, select Mark Selected Line Items as
Received.
9) Note that the interface does nothing, and that there is a TypeError
error message in the browser console.
10) Apply this commit.
11) Refresh your page completely and repeat steps 1-8.
12) Note that the items on the second page are received.  Since they no
longer meet the search criteria, Evergreen gives you the next page of
results.

For further testing, see similar test steps by John Yorio at
https://bugs.launchpad.net/evergreen/+bug/1607922.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
6 years agoLP1851831 Group perm editor null descriptions OK
Bill Erickson [Fri, 8 Nov 2019 15:37:21 +0000 (10:37 -0500)]
LP1851831 Group perm editor null descriptions OK

Avoid assuming a permission description value is non-NULL in the
permission group editor interfaces since values are not required in the
database.

Fixes: ERROR TypeError: "l.description(...) is null"

Similarly repair the permission list title attributes so they display
the permission code (instead of an empty string) for titles when no
description is available.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
6 years agoLP#1851524: fix adding a bucket when saving a new carousel
Galen Charlton [Wed, 6 Nov 2019 16:35:58 +0000 (11:35 -0500)]
LP#1851524: fix adding a bucket when saving a new carousel

This patch fixes a regression where saving a new carousel
would not result in its bucket being created due to the
post-save callback never getting invoked.

This patch does not fix any carousels that do not have
buckets due to this bug. Because such carousels will
not function anyway, they should be deleted and
recreated by the local admin.

To test
-------
[1] Create a new carousel in local adminstration. Open it
    in the edit modal again and note that no record bucket
    is linked to it.
[2] Apply the patch and repeat step 1. This time, the
    bucket should be created.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
6 years agolp1437103 Allow Receipts to Print when Suppressing Popups
Kyle Huckins [Fri, 5 Jul 2019 14:36:05 +0000 (14:36 +0000)]
lp1437103 Allow Receipts to Print when Suppressing Popups

- Move suppress_popup check further along and allow transit receipts
to properly print when popups suppressed.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/web/js/ui/default/staff/circ/services/circ.js

Signed-off-by: Bill Erickson <berickxx@gmail.com>
6 years agolp1437103 Suppress Popups on Patron Items Out Checkin
Kyle Huckins [Wed, 26 Jun 2019 15:36:09 +0000 (15:36 +0000)]
lp1437103 Suppress Popups on Patron Items Out Checkin

- Make Patron Items Out UI respect Suppress Popups setting.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/web/js/ui/default/staff/circ/patron/items_out.js

Signed-off-by: Bill Erickson <berickxx@gmail.com>
6 years agolp1437103 - Suppress Popups based on OU Setting
Kyle Huckins [Tue, 25 Jun 2019 16:47:04 +0000 (16:47 +0000)]
lp1437103 - Suppress Popups based on OU Setting

- Allow OU setting to suppress checkin popups to properly take effect.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/web/js/ui/default/staff/circ/services/circ.js

Signed-off-by: Bill Erickson <berickxx@gmail.com>
6 years agoForward-port 3.4.1 upgrade script
Dan Wells [Tue, 29 Oct 2019 19:40:31 +0000 (15:40 -0400)]
Forward-port 3.4.1 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoTranslation updates - po files
Dan Wells [Mon, 28 Oct 2019 15:03:22 +0000 (11:03 -0400)]
Translation updates - po files

Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoTranslation updates - newpot
Dan Wells [Mon, 28 Oct 2019 14:59:21 +0000 (10:59 -0400)]
Translation updates - newpot

Signed-off-by: Dan Wells <dbw2@calvin.edu>
6 years agoDocs: Add 3.3.5 point release notes
Remington Steed [Fri, 25 Oct 2019 19:49:00 +0000 (15:49 -0400)]
Docs: Add 3.3.5 point release notes

Signed-off-by: Remington Steed <rjs7@calvin.edu>
6 years agoDocs: Add 3.2.10 point release notes
Remington Steed [Fri, 25 Oct 2019 19:20:51 +0000 (15:20 -0400)]
Docs: Add 3.2.10 point release notes

Signed-off-by: Remington Steed <rjs7@calvin.edu>
6 years agoDocs: Add 3.1.16 point release notes
Remington Steed [Fri, 25 Oct 2019 19:28:33 +0000 (15:28 -0400)]
Docs: Add 3.1.16 point release notes

Signed-off-by: Remington Steed <rjs7@calvin.edu>
6 years agoDocs: Adding 3.4.1 release notes
Remington Steed [Fri, 25 Oct 2019 18:57:14 +0000 (14:57 -0400)]
Docs: Adding 3.4.1 release notes

The acknowledgements section was built entirely from the git log
"Signed-off-by" lines.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
6 years agoLP#1846038 Remove extra grid refresh from configuration load
Dan Wells [Tue, 22 Oct 2019 14:55:41 +0000 (10:55 -0400)]
LP#1846038 Remove extra grid refresh from configuration load

Bug LP#1790169 added the ability to save sorting configuration, but it
also added an additional grid refresh to the configuration load.  This
breaks grid loading.

The expected flow is for is to first load any existing configuration,
then do the first collect() for the grid.  This refresh() call adds
potentially a second collect() which may run earlier than it should,
and overall does not seem necessary.

To test:

(Make sure you are testing on current master or rel_3_3/3_4, or you
will (like me) hit related bugs which have been fixed.  Also, some
grids (especially circ) do not honor sort for other reasons, so avoid
those for now.)

1) Find a grid which has a typical get() process.  Suggestion would be
a basic auto grid, such as full bill details,
https://localhost/eg/staff/circ/patron/11/bill/43/details .
2) Set a sort value you can see, then *save* the configuration.
3) Before the patch, billing details grid doesn't load.  After patch,
grid loads and still honors the defined sort.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
6 years agoLP#1845693: (follow-up) clarify what CHROME_BIN should be set to
Galen Charlton [Wed, 23 Oct 2019 15:45:33 +0000 (11:45 -0400)]
LP#1845693: (follow-up) clarify what CHROME_BIN should be set to

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP#1849506: Remove "Install latest LTS node from source" docs
Dan Scott [Tue, 22 Oct 2019 21:32:07 +0000 (17:32 -0400)]
LP#1849506: Remove "Install latest LTS node from source" docs

We install specific versions of node using the -developer Makefile
targets; rely on that instead of potentially leading people astray with
the wrong version of node as time marches on.

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP1845693: Test Angular(JS) with modern browsers
Jason Boyer [Tue, 22 Oct 2019 16:51:15 +0000 (12:51 -0400)]
LP1845693: Test Angular(JS) with modern browsers

Rather than using PhantomJS to test Angular(JS),
we can use all supported browsers for the web client.
Currently this is Firefox and Chrom(ium).

Because of the number of dependencies this also
requires that testing is removed from the standard
build instructions and only done in specific testing
environments or on developer machines.

Signed-off-by: Jason Boyer <JBoyer@eoli.info>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLp 1835620: Require some Storage submodules instead of use them
Jason Stephenson [Sun, 7 Jul 2019 11:18:01 +0000 (07:18 -0400)]
Lp 1835620: Require some Storage submodules instead of use them

Switch from "use" to "require" for submodules in OpenILS::Application
::Storage::CDBI and OpenILS::Application::Storage::Driver::Pg.
Circular dependencies and other issues cause the following errors at
compile time for those modules:

Compilation failed in require at
/usr/local/share/perl/5.28.1/OpenILS/Application/Storage/CDBI.pm line
9.

Compilation failed in require at
/usr/local/share/perl/5.26.1/OpenILS/Application/Storage/Driver/Pg.pm
line 15.

Require loads the submodules at run time and does not attempt to
import any methods.  This is the behavior we want, eliminates the
above errors, and everything still works.

Add comments above the required modules explaining why require is
needed and not use.

Enable and reorder all of the tests in Open-ILS/src/perlmods/t/
09-OpenILS-Application-Storage-Driver.t.  Repairing the above issue
also repairs these tests.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org>
6 years agoLP#1806783 Offline: Non-cataloged item receipt printing
Terran McCanna [Thu, 7 Mar 2019 17:55:46 +0000 (12:55 -0500)]
LP#1806783 Offline: Non-cataloged item receipt printing

When checkout out non-cataloged items in the offline interface,
the receipt will now print 'Non-cataloged item' and the number
of items rather than printing nothing.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
6 years agoLP1849372 Close all open dialogs on Angular route change
Bill Erickson [Tue, 22 Oct 2019 19:54:13 +0000 (15:54 -0400)]
LP1849372 Close all open dialogs on Angular route change

On all angular route changes, force close any open dialogs, since it
makes little sense for them to persist across interfaces.

To test:

[1] Navigate to Server Administration
[2] Navigate to Age Hold Protection Rule Configuration
[3] Double-click a grid row to open an edit dialog
[4] Click browser back button to return to the Server Admin page
[5] Confirm edit dialog closes once the navigation is complete.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
6 years agoUpdate HSN logo
Dan Scott [Thu, 6 Jun 2013 18:13:22 +0000 (14:13 -0400)]
Update HSN logo

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoImproved logos for NOSM
Dan Scott [Fri, 4 Sep 2015 15:47:32 +0000 (11:47 -0400)]
Improved logos for NOSM

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoFirst pass at Algoma U tpac skin for rel_2_7
Robin Isard [Fri, 3 Aug 2012 19:59:57 +0000 (15:59 -0400)]
First pass at Algoma U tpac skin for rel_2_7

This was done in a hurry and simply handles the esential links, logos and branding.

 *changed the main logo on the homepate
 *changed the header links to reflect new library website
 *added footer links
 *added config file based on lul's to enable OpenURL

In addition to adding the same graphical header so that the OPAC
more closely resembles the new Wishart website, this change
incorporates several smaller fixes:
    * replace the AlgomaU "small university/big education" logo
      with the small AlgomaU wordmark
    * center the logo via CSS, not <center>
    * fix vertical centering of the "your account log in" text --
      needs margins only left & right, not on all 4 sides
    * replace border on the user/pass input boxen so that they
      are visible once again.

Forbid holds on items that are currently available

6 years agoUniversity of Sudbury basic skin
Dan Scott [Mon, 27 Aug 2012 15:56:22 +0000 (11:56 -0400)]
University of Sudbury basic skin

Logos and one link; not even touching colours yet.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoAdd TPAC UHearst colours, logos, and links
Dan Scott [Fri, 3 Aug 2012 21:24:26 +0000 (17:24 -0400)]
Add TPAC UHearst colours, logos, and links

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoAdd SJCG TPAC skin
Dan Scott [Fri, 3 Aug 2012 21:24:26 +0000 (17:24 -0400)]
Add SJCG TPAC skin

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoBasic Laurentian University branding: colours and logos
Dan Scott [Tue, 31 Jul 2012 18:53:48 +0000 (14:53 -0400)]
Basic Laurentian University branding: colours and logos

Required some wrestling with the default stylesheet but otherwise we
appear to be good.

Phone notifications for holds do not happen. Hide any mention of phone
numbers or widgets for changing phone numbers.

We also do not want to enable users to update their username, password, or
email address.

Override style.css in a separate stylesheet

One more HTTP request, but much simpler tracking of HEAD stylesheet
changes.

Customize login form for Laurentian LDAP login

Set ou_email_host via a hidden form variable.

Provide more rational inline help for OSUL login form.

Link to the OSUL password reset form on login failure

Avoid the "place holds on available" lists hole by ripping out the option
entirely, naturally.

Turn on Google Book Previews

Hide the display of 659 fields in Laurentian records. They appear to
have been used for some sort of identifiers, not genres, and are
meaningless to users.

Remove the "Stay logged in" checkbox until we uncover the actual problem
with logging in via LDAP and persistence.

Enable Google Analytics in Laurentian skin

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoAdd NOSM TPAC skin: colours, logos, links
Dan Scott [Fri, 3 Aug 2012 21:24:26 +0000 (17:24 -0400)]
Add NOSM TPAC skin: colours, logos, links

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoAdd a simple, long-overdue theme for Huntington
Dan Scott [Tue, 22 Jan 2013 17:51:51 +0000 (12:51 -0500)]
Add a simple, long-overdue theme for Huntington

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoDisable metarecords; merge config.tt2 changes
Dan Scott [Wed, 17 Dec 2014 20:53:42 +0000 (15:53 -0500)]
Disable metarecords; merge config.tt2 changes

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoAdd HRSRH skin: logo, colours, links
Dan Scott [Fri, 3 Aug 2012 21:24:26 +0000 (17:24 -0400)]
Add HRSRH skin: logo, colours, links

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoConifer-wide config settings
Dan Scott [Fri, 20 Apr 2018 17:59:07 +0000 (13:59 -0400)]
Conifer-wide config settings

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoAdd CFOF minimal skin
Dan Scott [Fri, 10 Feb 2017 20:50:52 +0000 (15:50 -0500)]
Add CFOF minimal skin

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoBasic TPAC Boreal branding: colours and logo and links
Dan Scott [Tue, 31 Jul 2012 18:53:48 +0000 (14:53 -0400)]
Basic TPAC Boreal branding: colours and logo and links

Link from logo to College Boreal itself
Remove "Tembec" from name, hide old OPAC link
Change links to union catalogue for Boreal tpac skin

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoRemove display of patron birthdate, internet access level, etc
Dan Scott [Mon, 30 May 2011 17:14:29 +0000 (13:14 -0400)]
Remove display of patron birthdate, internet access level, etc

These fields in the staff client are either not applicable or
potentially privacy-invasive or both. If the data somehow does
get into the system, we don't want it to show up on the staff
client anyway - and we don't want annoying warnings about unset
dates of birth, etc.

This is the hardcore way of doing things, we really should make
it yet another configuration setting. Oh well.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoQuick hack to default to 2019 for acquisitions
Dan Scott [Thu, 8 Sep 2016 17:22:59 +0000 (13:22 -0400)]
Quick hack to default to 2019 for acquisitions

Having a financial year that doesn't run from January to December can be
annoying.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoDefault the Dojo OU selector to the current WS value
Dan Scott [Wed, 23 Dec 2015 20:18:31 +0000 (15:18 -0500)]
Default the Dojo OU selector to the current WS value

Because this.orgDefaultsToWs does not appear to be set, even though
po/create.js tries to set it, we want a sane default anyway.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoDo not show Consortial counts. Because annoying.
Dan Scott [Thu, 11 Dec 2014 22:05:27 +0000 (17:05 -0500)]
Do not show Consortial counts. Because annoying.

Probably could/should do this via org hiding?

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoIntegrate Wikidata card for music
Dan Scott [Tue, 23 May 2017 03:26:28 +0000 (23:26 -0400)]
Integrate Wikidata card for music

Wikidata music infocard with Wikipedia description

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoAdd production moveto interfaces
Dan Scott [Fri, 20 Apr 2018 16:24:57 +0000 (12:24 -0400)]
Add production moveto interfaces

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoScript to generate nginx & apache configs
Dan Scott [Sun, 16 Jul 2017 21:07:45 +0000 (14:07 -0700)]
Script to generate nginx & apache configs

Given a set of hostnames, generate the appropriate nginx proxy and apache
config files. Also spit out a certbot command to generate a letsencrypt
certificate based on those hostnames.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoFix encoding issues in HTML report files
Dan Scott [Tue, 17 Nov 2015 17:11:19 +0000 (12:11 -0500)]
Fix encoding issues in HTML report files

Opening the files without the utf-8 encoding pragma resulted in
corrupted UTF8 output.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoTreat a Polish l as an ASCII l in full-text search
Dan Scott [Tue, 11 Nov 2014 16:53:24 +0000 (11:53 -0500)]
Treat a Polish l as an ASCII l in full-text search

Is this code path even hit these days? Would have expected
naco_normalize to be poking around here if that was the case...

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoLDAP authentication enablement for OSUL
Dan Scott [Mon, 27 Aug 2012 22:38:51 +0000 (18:38 -0400)]
LDAP authentication enablement for OSUL

We use the local-part of the email address to authenticate against the LDAP
server.

In the VirtualHost sections of Apache, we can use SetEnv to force the
physical_loc to match the org unit ID(s) specified in opensrf.xml; for
example:

SetEnv physical_loc 103

At Laurentian, all usernames will be lowercase.  This will prevent mismatches
like the user entering "dscott" and the database having the value "DScott" (in
that we're going to force all of the Laurentian user names in the database to
lower case).

Add an ou_host_name parameter for TPAC login forms

If set, and the incoming username does not already include an '@' symbol
(a very simple attempt to detect if we're already dealing with an email
address), then append '@' + the ou_host_name value to the username for
authentication purposes.

The rationale is that in a large consortium, you might want to enable
users to log in with short usernames (like 'fred'), but you also want to
avoid conflicts between short usernames at different organizational
units. Thus, create the users with the email equivalent of their
usernames, like 'fred@br1.example.com' and 'fred@br4.example.com', and
let the templates for the TPAC in br1 and br4 contain a hidden input
field to append the appropriate email hostname.

Truth be told, this is probably most appropriate for a large consortium
containing two or more academic institutions that hope to use LDAP
authentication rather than native authentication, and therefore have
LDAP CNs that map to email addresses of CN@hostname that can then be
mapped to actor.usr.usrname (and actor.usr.email, of course).

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoGeneric patron barcode generation (OpenSRF and DB)
Dan Scott [Thu, 10 Jan 2013 19:17:33 +0000 (14:17 -0500)]
Generic patron barcode generation (OpenSRF and DB)

Laurentian University needed the ability to generate barcodes as part of
its LDAP integration work, and the first generation (so to speak) of the
was specific to LU - including hard-coded prefixes and database
functions that include the "lu" name.

This commit makes the functionality much more generic and thus more
likely to be able to be adopted by other institutions. The principle
components are:

Database functions:

evergreen.actor_generate_barcode([prefix TEXT]) - returns a 14-digit
  barcode from the evergreen.actor_barcode_seq sequence with a prefix of
  'AUTOBC' or the specific prefix of up to 6 characters. If the
  resulting barcode is all digits, then the 14th character will be a
  mod10 check digit; otherwise the 14th digit will be '0'.

evergreen.actor_update_barcode(usr_id INTEGER[, prefix TEXT]) -
  generates a new barcode for the specified user, with the optional
  barcode prefix.

evergreen.mod10(barcode TEXT) - given a barcode, generates a mod10
  check digit and returns the barcode with the appended check digit

OpenSRF method:

open-ils.actor.generate_patron_barcode([usr_id INT[, prefix TEXT]]) -
  generates a new barcode for the patron

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoAdd and use a patron search that overrides opt-in invisibility
Dan Scott [Wed, 14 Sep 2011 20:02:14 +0000 (16:02 -0400)]
Add and use a patron search that overrides opt-in invisibility

Something like this is required for API calls that need to operate
against a number of libraries in a given instance that are using opt-in;
otherwise, attempts to search for users will fail and you may end up
creating near-duplicates etc.

The implementation adds an
open-ils.actor.search.patron.advanced.opt_in_override method to
open-ils.actor, which, if invoked, checks to see if the caller has the
OPT_IN_OVERRIDE permission. If so, then the crazy_search ignores the
normal opt-in limits and searches all pertinent users in the database.

As a global permission, OPT_IN_OVERRIDE is a blunt instrument. Others
might want to put together a more refined version that uses OU depths to
define boundaries.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoAdd Conifer MARC templates
Dan Scott [Fri, 20 Apr 2018 16:00:47 +0000 (12:00 -0400)]
Add Conifer MARC templates

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoLP#1844720: avoid hard-coded paths in Apache config
Jeff Davis [Thu, 19 Sep 2019 19:51:28 +0000 (12:51 -0700)]
LP#1844720: avoid hard-coded paths in Apache config

Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP #1765434 Browser refresh closes purchase order
Tiffany Little [Mon, 18 Mar 2019 17:51:03 +0000 (13:51 -0400)]
LP #1765434 Browser refresh closes purchase order

Adds a Refresh button to refresh the iframe in place.

Signed-off-by: Tiffany Little <tlittle@georgialibraries.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
6 years agoLP1825403: Do not Include Tag Owner in Tag
Jason Boyer [Tue, 22 Oct 2019 13:18:29 +0000 (09:18 -0400)]
LP1825403: Do not Include Tag Owner in Tag

Copy tags were accidentally having their owning
location shortname included in the tag values,
this patch allows the owner to be displayed but
not included in the value used.

Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
6 years agoDocs: Fix image syntax in Authority Browse infrastructure docs
Remington Steed [Mon, 21 Oct 2019 20:56:31 +0000 (16:56 -0400)]
Docs: Fix image syntax in Authority Browse infrastructure docs

There are two image references in the docs section "Infrastructure
Changes to Authority Browse" that use incorrect AsciiDoc syntax, and
therefore the images don't display in the docs. This commit fixes them
(changing "images::" to "image::", removing the "s").

Signed-off-by: Remington Steed <rjs7@calvin.edu>
6 years agoDocs: added Request Items section to Items Status doc
Andrea Buntz Neiman [Mon, 21 Oct 2019 20:31:00 +0000 (16:31 -0400)]
Docs: added Request Items section to Items Status doc

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
6 years agoLP#1816475: offset the start time after end time alert
Galen Charlton [Fri, 18 Oct 2019 15:56:54 +0000 (11:56 -0400)]
LP#1816475: offset the start time after end time alert

Move the alert over to align with the date inputs for a slightly
tidier appearance.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP1816475: form validation prevents users from making reservations in the past
Jane Sandberg [Mon, 14 Oct 2019 21:47:49 +0000 (14:47 -0700)]
LP1816475: form validation prevents users from making reservations in the past

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP1816475: give booking pull list columns the correct datatype
Jane Sandberg [Mon, 14 Oct 2019 19:27:46 +0000 (12:27 -0700)]
LP1816475: give booking pull list columns the correct datatype

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP1816475: Strip whitespace from patron barcodes
Jane Sandberg [Thu, 10 Oct 2019 03:27:43 +0000 (20:27 -0700)]
LP1816475: Strip whitespace from patron barcodes

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP1816475: Change calendar_today icon to event icon
Jane Sandberg [Wed, 9 Oct 2019 19:25:17 +0000 (12:25 -0700)]
LP1816475: Change calendar_today icon to event icon

The locally served calendar_today icon doesn't look good in buttons
(like the date-select and datetime-select component buttons).  But the
event icon looks very similar, and doesn't have the same negative
effects when placed in buttons.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP1816475: use [routerLink] instead of href in Angular app
Jane Sandberg [Wed, 9 Oct 2019 18:42:08 +0000 (11:42 -0700)]
LP1816475: use [routerLink] instead of href in Angular app

Using <a href=""> forces a reload of the Angular app in the user's
browser, which substantially slows down the experience.  This commit
changes some href attributes to routerLink directives in the booking
navigation menu.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP1816475: Fix resource type filter in manage reservations grid
Jane Sandberg [Fri, 13 Sep 2019 18:04:27 +0000 (11:04 -0700)]
LP1816475: Fix resource type filter in manage reservations grid

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP1816475: Add ancestors checkbox to manage reservations screen
Jane Sandberg [Fri, 13 Sep 2019 15:16:15 +0000 (08:16 -0700)]
LP1816475: Add ancestors checkbox to manage reservations screen

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP1816475: Don't let users edit reservation.email_notify, pickup_lib, request_lib
Jane Sandberg [Tue, 10 Sep 2019 01:18:06 +0000 (18:18 -0700)]
LP1816475: Don't let users edit reservation.email_notify, pickup_lib, request_lib

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP1816475: Add action buttons to Pickup and Return reservation screens
Jane Sandberg [Mon, 9 Sep 2019 21:52:16 +0000 (14:52 -0700)]
LP1816475: Add action buttons to Pickup and Return reservation screens

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP1816475: Return reservations screen refreshes properly
Jane Sandberg [Mon, 9 Sep 2019 15:02:53 +0000 (08:02 -0700)]
LP1816475: Return reservations screen refreshes properly

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP1816475: Fix an icon spacing issue
Jane Sandberg [Mon, 9 Sep 2019 12:27:51 +0000 (05:27 -0700)]
LP1816475: Fix an icon spacing issue

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP1816475: Add a Create Reservation button to the Create Reservation screen
Jane Sandberg [Mon, 9 Sep 2019 12:11:15 +0000 (05:11 -0700)]
LP1816475: Add a Create Reservation button to the Create Reservation screen

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP1821969 Additional fix to second_given_name
Michele Morgan [Mon, 16 Sep 2019 18:50:16 +0000 (14:50 -0400)]
LP1821969 Additional fix to second_given_name

Adds primary second_given_name to the preferred name if there is no
preferred second_given_name. This matches the behavior of the other name
fields.

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP1821969 Patron Prefix and Suffix Display in Summary
Garry Collum [Wed, 8 May 2019 00:57:50 +0000 (20:57 -0400)]
LP1821969 Patron Prefix and Suffix Display in Summary

Adds support for displaying the patron prefix, suffix, preferred prefix, and preferred suffix in the patron summary sidebar.

To test:
  1. Add a combination of prefixes, suffixes, preferred prefixes, and preferred suffixes to several patrons.
  2. Also add some other preferred information to some of these patrons.
  3. In the sidebar notice the lack of prefix information in both the patron's main heading and in the preferred name information.
  4. Apply the patch.
  5. In the sidebar the prefixes and suffixes are now displayed.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP#1802952: stamp schema update
Galen Charlton [Mon, 21 Oct 2019 18:08:39 +0000 (14:08 -0400)]
LP#1802952: stamp schema update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP#1802952 Check bib visibility for located URI auto suggest
Dan Wells [Mon, 12 Nov 2018 16:31:33 +0000 (11:31 -0500)]
LP#1802952 Check bib visibility for located URI auto suggest

Suggestions from records with only located URIs (no copies) do not
appear in the OPAC search suggestions. This appears to be a cousin of
bug #1773479, but in a neighboring function.

In the case of libraries with LURIs, we need to consider bib visibility
separate from copy visibility in order for both to show up.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP#1749970 Fix paging of pending patrons
Jeff Godin [Tue, 2 Apr 2019 16:49:18 +0000 (12:49 -0400)]
LP#1749970 Fix paging of pending patrons

Fix paging of pending patrons by passing a count and offset to the
backend API call.

Signed-off-by: Jeff Godin <jgodin@tadl.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP#1777698 Duplicate barcode alert appearing on new barcodes
Dan Briem [Sun, 11 Aug 2019 01:02:00 +0000 (21:02 -0400)]
LP#1777698 Duplicate barcode alert appearing on new barcodes

When scanning new copy barcodes, ng-change quickly fires multiple times
and sends promises to check for duplicates. If 1234 exists and you scan
12345, if the 1234 promise resolves after 12345, it will indicate it's a
duplicate. This patch keeps a count of the promises sent and only the
latest promise will set the boolean to indicate if it's a duplicate.

Hard to test because the promises usually resolve in order:
1. Add a new holding with the first few characters of an unused barcode
2. Scan the new barcode multiple times until you see the dup error
3. Apply patch and scan the new barcode multiple times (no error)

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
6 years agoLP#1842763: Vandelay: disable grid row select on queued record matches
Jeff Davis [Thu, 10 Oct 2019 18:04:48 +0000 (11:04 -0700)]
LP#1842763: Vandelay: disable grid row select on queued record matches

Users are on this screen to select a merge target, which they do by
selecting a cell in the Merge Target column.  The grid selector
checkboxes are confusing and useless (they don't support the purpose of
this screen and there are no supported actions for selected rows).

Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
6 years agoLP#1841089 Apply button in Patron Bill History screen is in confusing location
Dan Briem [Sat, 24 Aug 2019 18:44:01 +0000 (14:44 -0400)]
LP#1841089 Apply button in Patron Bill History screen is in confusing location

It's possible to miss the apply button for the date range in bill history
because it's located before the datepickers. The interface also allows
invalid date ranges.

This removes the apply button and watches the start and finish dates in the
bill history and payment history controllers. If it's not first init and they
are valid date objects in a valid date range, the grid refreshes with the new
date range query. If start > finish they are set equal to each other to force
a valid range.

To test:

1. Apply patch
2. Bring up a patron with bills and payments (or add bills and payments)
3. Under the Bills tab click History
4. Change the date range and observe that the grid refreshes
5. Try to set the start date past the finish date and vice versa

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP#1729435: stamp DB update
Galen Charlton [Fri, 4 Oct 2019 14:33:45 +0000 (10:33 -0400)]
LP#1729435: stamp DB update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP#1729435: Add Seed Data for WS type for Bill Full Details grids
Michele Morgan [Fri, 5 Apr 2019 20:55:19 +0000 (16:55 -0400)]
LP#1729435: Add Seed Data for WS type for Bill Full Details grids

Adds the config.workstation_setting_type values to the seed data and
an upgrade script to allow storing in the database.

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP#1729435: Allow saving Bill Full Details grids
Remington Steed [Mon, 5 Nov 2018 21:11:35 +0000 (16:11 -0500)]
LP#1729435: Allow saving Bill Full Details grids

For a web staff eg-grid to save and retrieve its settings, it needs a unique
persist-key. This commit adds one for the Bills grid and Payments grid on the
patron bills Full Details view (right-click a bill, choose Full Details, then
click the Details tab).

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP#1803790: apply alphabetization fix to Angular admin splash pages
Galen Charlton [Fri, 4 Oct 2019 14:12:49 +0000 (10:12 -0400)]
LP#1803790: apply alphabetization fix to Angular admin splash pages

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP#1803790 Re-alphabetize Local & Server Administration Links
Terran McCanna [Wed, 6 Mar 2019 21:40:53 +0000 (16:40 -0500)]
LP#1803790 Re-alphabetize Local & Server Administration Links

Small fix that re-orders the links that were out of order due
to link name changes.

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP#1609556: only include OPAC-visible copies in SRU/Z39.50 holdings
Jeff Davis [Tue, 2 Oct 2018 21:28:31 +0000 (14:28 -0700)]
LP#1609556: only include OPAC-visible copies in SRU/Z39.50 holdings

To test:

1. Create a bib record.
2. Add an item to the record at BR1. Mark it as not OPAC-visible.
3. Do a CONS-level SRU search for the record, including holdings. The
   record is not included in results because there are no OPAC-visible
   holdings.
4. Add a second item to the same record, this time at BR3. Mark this
   one as OPAC-visible.
5. Repeat the CONS-level SRU search, including holdings. The record
   appears in search results, but holdings information in 852 includes
   *all* copies, including non-OPAC-visible copies.

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP 1827250: Fix Last Captured Hold Check for Holds Shelf
Jason Stephenson [Thu, 2 May 2019 12:36:15 +0000 (08:36 -0400)]
LP 1827250: Fix Last Captured Hold Check for Holds Shelf

When the current copy on an on shelf hold is the same as that on some
uncaptured holds, the hold fails to appear on the hold shelf when it
should.  This comes down to some SQL in the storage function to
retrieve wide holds: open-ils.storage.action.live_holds.wide_hash.

The intent of the new code is to check that the current hold matches
the most recently captured hold for the copy.  However, the order by
in the query fails to take into account holds with a NULL capture time
on the same copy will sort before the captured holds.  This patch
rectifies this situation by adding "NULLS LAST" to the order by.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agolp1813056 Fixes Current Date in Date Returned in Circ History CSV
Garry Collum [Mon, 20 May 2019 16:48:10 +0000 (12:48 -0400)]
lp1813056 Fixes Current Date in Date Returned in Circ History CSV

The date returned column in the csv file created in the opac for the patron's
Check Out History contains the current date instead of the check-in date. This
patch fixes that issue.

To test:
1. Turn on "Keep history of checked out items" in the patron Search and
History Preferences in the opac, or find a patron that already has this
option turned on.
2. Check-in some items that the patron has checked-out.
3. Wait a day, or if it was an existing history list immediately, go to the patron's Items Checked Out in the opac and look at the Date Returned
column in the Check Out History list.
4. Download the CSV file and note that the date is the current date.
5. Apply the patch.
6. Refresh and download the CSV file again and note that the Date Returned
is now the checkin date.

Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Josh Stompro <stompro@stompro.org>
6 years agoLP#1836963: reduce the cost of utility functions, speeding up search
Mike Rylander [Wed, 17 Jul 2019 21:14:01 +0000 (17:14 -0400)]
LP#1836963: reduce the cost of utility functions, speeding up search

For large org trees, some several seconds are spent testing org visibility.
The immediate cause is that AppUtils::get_org_tree() does not populate the
process-local cache with a memcache-cached org tree. That only happens when
memcache does not have a copy of the org tree. This is obviously a simple
oversight, which is addressed by making sure any memcache return value
is pushed into the the process local cache.

Additionally, the visibility check is making heavy use of lots of
indirection and delegation to utility code, when some slightly smarter code
could avoid many repeated function calls.  We now supply some local
utility code to flesh and unflesh the parent_ou field of objects in the
org tree, allowing us to avoid using find_org() and instead just calling
parent_ou() when walking "up" the tree.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoDocs: adding basic documentation for new 3.4 features
Jane Sandberg [Thu, 3 Oct 2019 16:41:09 +0000 (09:41 -0700)]
Docs: adding basic documentation for new 3.4 features

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
6 years agoforward-port 3.3.3-3.4.0 schema update
Galen Charlton [Wed, 2 Oct 2019 21:28:11 +0000 (17:28 -0400)]
forward-port 3.3.3-3.4.0 schema update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoforward-port 3.4 release notes
Galen Charlton [Wed, 2 Oct 2019 21:27:16 +0000 (17:27 -0400)]
forward-port 3.4 release notes

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agonote minimum OpenSRF version in upgrade instructions
Galen Charlton [Wed, 2 Oct 2019 20:08:59 +0000 (16:08 -0400)]
note minimum OpenSRF version in upgrade instructions

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP#1846369: add libhtml-defang-perl to Debian Buster installation
Galen Charlton [Wed, 2 Oct 2019 16:55:28 +0000 (12:55 -0400)]
LP#1846369: add libhtml-defang-perl to Debian Buster installation

This patch fixes an oversight where the HTML::Defang dependency
added in LP#1825851 wasn't installed on Debian Buster.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org>
6 years agoLP#1846357: adjust 3.3.3-3.4.0 schema update
Galen Charlton [Wed, 2 Oct 2019 15:38:42 +0000 (11:38 -0400)]
LP#1846357: adjust 3.3.3-3.4.0 schema update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agostage what will become the final 3.3.3-3.4.0 schema update
Galen Charlton [Wed, 2 Oct 2019 15:35:41 +0000 (11:35 -0400)]
stage what will become the final 3.3.3-3.4.0 schema update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoupdated 3.3.3-3.4-rc schema update
Galen Charlton [Tue, 1 Oct 2019 23:50:55 +0000 (19:50 -0400)]
updated 3.3.3-3.4-rc schema update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP#1846357: fix circulation and billing aging
Galen Charlton [Wed, 2 Oct 2019 15:31:06 +0000 (11:31 -0400)]
LP#1846357: fix circulation and billing aging

An error merging an update to action.age_circ_on_delete() resulted
in a regression to the aging of billings. This patch fixes it.

To test
-------
[1] Apply the patch, then age circulations. Verify that relevant
    billings are also aged.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoTranslation updates - po files
Galen Charlton [Wed, 2 Oct 2019 00:02:33 +0000 (20:02 -0400)]
Translation updates - po files

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoTranslation updates - newpot
Galen Charlton [Tue, 1 Oct 2019 23:58:33 +0000 (19:58 -0400)]
Translation updates - newpot

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoLP1842940: stamping and slight tweak to upgrade script
Jane Sandberg [Tue, 1 Oct 2019 21:47:07 +0000 (14:47 -0700)]
LP1842940: stamping and slight tweak to upgrade script

Mike Rylander suggested the INSERT ... SELECT ... WHERE NOT
EXISTS approach, since this fix is being backported to older
releases, and we don't want to cause duplicate entries or
upgrade failures if the perm already exists

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
6 years agoLP#1842940: Improve Alert
Mike Rylander [Tue, 17 Sep 2019 15:07:04 +0000 (11:07 -0400)]
LP#1842940: Improve Alert

Attempt to float the alerts below the sticky bar and above the main
content of the user editor.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
6 years agoLP#1842940: Alert when editing is disallowed
Mike Rylander [Wed, 11 Sep 2019 18:46:44 +0000 (14:46 -0400)]
LP#1842940: Alert when editing is disallowed

Provide functions that checks the permissions required to edit ones
own account, or accounts in groups based on group application
permissions, and alert the user if and why they can't edit an account.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>