]> git.evergreen-ils.org Git - contrib/Conifer.git/log
contrib/Conifer.git
3 years agoFix the NOSM footer link as well rel_3_4_mergery_tpac
Dan Scott [Mon, 25 May 2020 16:44:56 +0000 (12:44 -0400)]
Fix the NOSM footer link as well

Signed-off-by: Dan Scott <dan@coffeecode.net>
3 years agoFix NOSM links to library homepage
Dan Scott [Mon, 25 May 2020 16:27:05 +0000 (12:27 -0400)]
Fix NOSM links to library homepage

Signed-off-by: Dan Scott <dan@coffeecode.net>
4 years agoUpdate University of Sudbury logo
Dan Scott [Thu, 6 Feb 2020 17:32:53 +0000 (12:32 -0500)]
Update University of Sudbury logo

Signed-off-by: Dan Scott <dan@coffeecode.net>
4 years agoWikidata music cards: use RWO URIs from $1 if available
Dan Scott [Mon, 13 Jan 2020 01:47:52 +0000 (20:47 -0500)]
Wikidata music cards: use RWO URIs from $1 if available

If the bib record contains a $1 subfield that points to a Wikidata Real
World URI, such as http://www.wikidata.org/entity/Q709024, surface that
in the author's RDfa as a schema.org/sameAs relation.

For music cards, the presence of a Wikidata RWO URI enables us to skip
searching by name and serve up the data directly based on the RWO URI.

The explicit RWO URI avoids disambiguation problems as arises with names
such as "Alexander Young" who is both a Scottish musician and an English
tenor, and sets the stage for expanding the Wikidata entity card
functionality outside of the domain of music.

Signed-off-by: Dan Scott <dan@coffeecode.net>
4 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>
4 years agoGenerate Wikidata cards for multiple performers and ensembles
Dan Scott [Tue, 23 May 2017 03:26:28 +0000 (23:26 -0400)]
Generate Wikidata cards for multiple performers and ensembles

Uses real-time Wikipedia description lookups, in English-only, to
provide the first sentence of the Wikipedia description of the
performer, as well as a link to the related Wikipedia page via the WP
icon.

Wikicards are built up from properties using a generic function; see the
Twitter, Facebook, and Musicbrainz properties for examples.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
4 years agoIt's 2020, default for the funds list accordingly
Dan Scott [Thu, 2 Jan 2020 20:02:53 +0000 (15:02 -0500)]
It's 2020, default for the funds list accordingly

Also fixes a syntax error that broke listing the funds at all (ugh)

Signed-off-by: Dan Scott <dan@coffeecode.net>
4 years agoArchitecture: move F1 and F2 hotkeys from web staff client
Dan Scott [Mon, 23 Dec 2019 16:10:50 +0000 (11:10 -0500)]
Architecture: move F1 and F2 hotkeys from web staff client

LAL uses the Bibliotheca client, which has F1 and F2 set to
disable/enable security on RFID tags. The default hotkeys for the staff
client trap F1 and F2, interfering with the proper operation of the
Bibliotheca client. Reassign them accordingly.

Signed-off-by: Dan Scott <dan@coffeecode.net>
4 years agoForce email addresses to lowercase to match database
Dan Scott [Thu, 5 Dec 2019 17:12:10 +0000 (12:12 -0500)]
Force email addresses to lowercase to match database

Signed-off-by: Dan Scott <dan@coffeecode.net>
4 years agoRemove ou_email_host from LU login form
Dan Scott [Thu, 5 Dec 2019 17:10:51 +0000 (12:10 -0500)]
Remove ou_email_host from LU login form

No longer necessary as we can rely on standard LDAP_Auth.

Signed-off-by: Dan Scott <dan@coffeecode.net>
4 years agoRevert "LDAP authentication enablement for OSUL"
Dan Scott [Thu, 5 Dec 2019 17:09:42 +0000 (12:09 -0500)]
Revert "LDAP authentication enablement for OSUL"

Prefer bind_attr vs. id_attr approach in mainline.

This reverts commit 5940695c59d290ebfca126e7007a0fa02ceb5ccc.

4 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>
4 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>
4 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>
4 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>
4 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>
4 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

4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 years agoLP#1857156: handle HHH:MM:SS durations in loans
Galen Charlton [Fri, 20 Dec 2019 17:55:16 +0000 (12:55 -0500)]
LP#1857156: handle HHH:MM:SS durations in loans

This patch fixes a problem where loan durations of the form
HHH:MM:SS, where the hours component is longer than 2 digits, could
cause checkouts to fail. This sort of duration has been observed
in cases where a library wanted a long-term reserves loan that
doesn't have the due time bumped up to midnight.

To test
-------
[1] Set up a circulation policy that has a loan duration of 167:59:59.
[2] Attempt a checkout that uses that policy. Note that the checkout
    will fail.
[3] Apply the patch and repeat step 2. This time, the checkout should
    succeed.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
4 years agoLP1858118 Hatch enabled check repairs
Bill Erickson [Tue, 12 Nov 2019 20:13:39 +0000 (15:13 -0500)]
LP1858118 Hatch enabled check repairs

Teach code asking Hatch whether printing is enabled to properly handle
the asynchronous response of the setting which now exists as a
workstation setting instead of a localStorage setting.

Related, if Hatch is unavailable, use browser printing regardless of the
hatch printing workstation setting.

Additionally update the "reprint last" handling to store the
last_printed value in localStorage instead of attempting to save its
value as a workstation setting.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoDocs: Fixing asciidoc syntax so fop doesn't complain about staff client admin manual
Jane Sandberg [Mon, 30 Dec 2019 22:50:47 +0000 (14:50 -0800)]
Docs: Fixing asciidoc syntax so fop doesn't complain about staff client admin manual

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoDocs: LP1767378 follow up: adding manual anchor
Jane Sandberg [Mon, 30 Dec 2019 22:24:58 +0000 (14:24 -0800)]
Docs: LP1767378 follow up: adding manual anchor

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoDocs: fixed a spacing issue
lfloyd [Mon, 23 Dec 2019 17:53:04 +0000 (12:53 -0500)]
Docs: fixed a spacing issue

Signed-off-by: Lynn Floyd <lfloyd@library.in.gov>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoDOCS: LP 1767378 Work Log documentation
lfloyd [Mon, 23 Dec 2019 16:25:40 +0000 (11:25 -0500)]
DOCS: LP 1767378 Work Log documentation

Updated Work Log documentation with new image.
Deleted old image files, noted which holds log.

Signed-off-by: Lynn Floyd <lfloyd1@library.in.gov>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1855931: (follow-up) make grid filter control cells wrap as well
Galen Charlton [Fri, 27 Dec 2019 21:45:42 +0000 (16:45 -0500)]
LP#1855931: (follow-up) make grid filter control cells wrap as well

This patch applies "word-wrap: normal" to filter control cells
as well, making it more likely that they will stay aligned with
the width of their corresponding header cells. This can be tested
by adding visible columns to the "Grid with filtering" table in
the Angular sandbox (/eg2/en-US/staff/sandbox) and verifying that
the column after "Circulating Library" continues to have its
filter widget stay aligned with its label.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agolp1855931 wrap text for wide Angular eg-grid column headers
Mike Risher [Tue, 10 Dec 2019 23:15:35 +0000 (23:15 +0000)]
lp1855931 wrap text for wide Angular eg-grid column headers

Make column headers text wrap so that you can fully read the header even if
it's several words long.  This will help when there are multiple headers
that start with the same word and they show up identically.

Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
4 years agoLP#1857350: (follow-up) fix lint issue
Galen Charlton [Fri, 27 Dec 2019 22:50:08 +0000 (17:50 -0500)]
LP#1857350: (follow-up) fix lint issue

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
4 years agoLP1857350 Org selector sorts by display value
Bill Erickson [Thu, 26 Dec 2019 18:18:26 +0000 (13:18 -0500)]
LP1857350 Org selector sorts by display value

When displaying the org unit selector, sort each set of children by the
display label (defaults to shortname).

Fixes issues with the org server sortTree function and adds a unit test
to test the repaired sort function.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agolp1843640 Standing Penalty Followup
Mike Risher [Fri, 13 Sep 2019 21:53:42 +0000 (21:53 +0000)]
lp1843640 Standing Penalty Followup
Fix 2 issues:  grid not updating when a new record is created and
double clicking a row doesn't edit it

Signed-off-by: Mike Risher <mrisher@catalyte.io>
Changes to be committed:
modified:   Open-ILS/src/eg2/src/app/staff/admin/local/standing-penalty.component.html
modified:   Open-ILS/src/eg2/src/app/staff/admin/local/standing-penalty.component.ts

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1848778 Use consistent MARC breaker delimiter
Bill Erickson [Fri, 18 Oct 2019 17:47:17 +0000 (13:47 -0400)]
LP1848778 Use consistent MARC breaker delimiter

Use the '$' delimiter in the read-only MARC breaker view for
consistency with the flat text MARC editor to easy copy/paste from one
to the other.

To test
-------
[1] Apply the patch.
[2] Set up two records in a record bucket and initiate a merge. Note
    that when you select a lead record and choose to edit it in
    flat text mode, you can copy and paste fields from the subordinate
    record display without having to change the subfield delimiter
    character.
[3] Mark a record for overlay, perform a Z39.50 search, then select
    a hit and choose the overlay action. Note that you can copy and
    paste fields from the record to overlay when editing the incoming
    record using the flat text editor.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1780283 Checking One Bill Checks Them All
Dan Briem [Fri, 9 Aug 2019 03:45:40 +0000 (23:45 -0400)]
LP#1780283 Checking One Bill Checks Them All

Under Patron->Bills->History if Bill # isn't visible for the Transactions
grid or Payment ID isn't visible for Payments grid, rows can't be selected
individually. This adds the required attribute to those field directives.

1. Under a patron account with multiple bills, go to Bills->History
2. Remove Bill # from the Transactions grid
3. Try to select an individual row (note all rows are selected)
4. Apply patch and repeat steps 1-3 (note rows are selected individually)

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agolp1712644 Prevent check out due date in past
Katlyn Beck [Mon, 26 Nov 2018 21:23:48 +0000 (21:23 +0000)]
lp1712644 Prevent check out due date in past

- Prevents selecting past due date when checking out an item
- Prevents saving a due date with hatch when input date is invalid

Signed-off-by: Katlyn Beck <kbeck@catalyte.io>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1857710: fix Angular client whitescreen on Firefox
Galen Charlton [Fri, 27 Dec 2019 18:21:15 +0000 (13:21 -0500)]
LP#1857710: fix Angular client whitescreen on Firefox

Work done for LP#1830391 added an instance of a Javascript
regexp replace using the dotAll ("/s") flag, but as of the moment
Firefox treats that flag as a fatal syntax error, breaking the
Angular staff client.

To test
-------
[1] Attempt to log in the Angular staff client with Firefox. Note
    that you get a whitescreen with the following in the browser
    console:

    SyntaxError: invalid regular expression flag s
[2] Apply the patch and repeat step 1. This time, the Angular
    staff client should work normally.
[3] Verify that the Angular unit tests pass.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLP#1827942: follow-up to fix a couple issues
Galen Charlton [Fri, 27 Dec 2019 16:04:32 +0000 (11:04 -0500)]
LP#1827942: follow-up to fix a couple issues

[1] Sets a default value for the modal options for dialogs such
    as ProgressDialog that do not supply any value for the
    options parameter; otherwise, progress dialogs would not
    appear at all.
[2] Fix lint warnings.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agolp1827942: prevent clicking outside an Angular modal from closing it
Zavier Banks [Tue, 17 Sep 2019 20:59:15 +0000 (20:59 +0000)]
lp1827942: prevent clicking outside an Angular modal from closing it

I added a new property to the "options" object inside the "open"
function, which resides in the dialog.component.ts. The static string
inside the backdrop property makes the form stay, even if the backdrop
is clicked.

Signed-off-by: Zavier Banks <zbanks@catalyte.io>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1830391 Stamping DB upgrate (hatch omnibus)
Bill Erickson [Fri, 13 Dec 2019 19:27:16 +0000 (14:27 -0500)]
LP1830391 Stamping DB upgrate (hatch omnibus)

Signed-off-by: Bill Erickson <berickxx@gmail.com>
4 years agoLP1830391 Angular test spec updates for Hatch store updates
Bill Erickson [Fri, 13 Dec 2019 19:13:40 +0000 (14:13 -0500)]
LP1830391 Angular test spec updates for Hatch store updates

The store service now leverages Hatch for workstation storage.  Update
unit tests which load the store service to also load and propagate the
Hatch service.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
4 years agoLP1830391 Warn on dupe workstation settings
Bill Erickson [Thu, 12 Dec 2019 21:47:31 +0000 (16:47 -0500)]
LP1830391 Warn on dupe workstation settings

Check for duplication workstations (by name and workstation) before
applying the UNIQUE constraint on actor.workstation_setting.  If found,
raise a notice to the user to provide suggestions.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLP1830391 Angular Hatch enabled flag lookup repair
Bill Erickson [Mon, 28 Oct 2019 17:53:46 +0000 (13:53 -0400)]
LP1830391 Angular Hatch enabled flag lookup repair

Fix the Angular Hatch enabled setting lookup to pull the value from the
workstation setting instead of localStorage.  This required shuffling a
few things around to support the asynchronicity.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLP1830391 Hatch core mod import/export repairs
Bill Erickson [Mon, 5 Aug 2019 14:44:55 +0000 (10:44 -0400)]
LP1830391 Hatch core mod import/export repairs

No need to import/export HatchService from the base common module since
it's now a core service which is exported automatically to root.

Includes minor lint repair.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLP1830391 Workstation settings unique constraint
Bill Erickson [Thu, 23 May 2019 22:02:41 +0000 (18:02 -0400)]
LP1830391 Workstation settings unique constraint

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLP1824391 Hatch File Writer release notes
Bill Erickson [Fri, 12 Apr 2019 19:47:24 +0000 (15:47 -0400)]
LP1824391 Hatch File Writer release notes

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLP1824391 Hatch print-to-file Angular edition
Bill Erickson [Mon, 15 Apr 2019 15:34:21 +0000 (11:34 -0400)]
LP1824391 Hatch print-to-file Angular edition

Adds support for the Angular hatch service for sending 'bare' text/plain
print-to-file requests.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLP1824391 Hatch File Writer print support
Bill Erickson [Fri, 12 Apr 2019 16:52:09 +0000 (12:52 -0400)]
LP1824391 Hatch File Writer print support

Adds support for translating receipt data to plain text and writing the
output to a file instead of sending it to a printer.

Adds a new stock printer named "Hatch File Writer" to the print
configuration interface.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLP1825891 Use Hatch 'hostname' for workstation reg.
Bill Erickson [Mon, 22 Apr 2019 21:02:05 +0000 (14:02 -0700)]
LP1825891 Use Hatch 'hostname' for workstation reg.

Populate the workstation name with the hostname of the PC when
registring a new workstation for Hatch-enabled workstations.

Note the code gracefully returns null if Hatch returns a 404 (not found)
or Hatch is not active.

Updates the AngJS and Angular workstation admin pages to load the
hostname value when possible.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoLP1825896 Store workstations in Hatch when available
Bill Erickson [Tue, 23 Apr 2019 14:57:31 +0000 (07:57 -0700)]
LP1825896 Store workstations in Hatch when available

When Hatch is enabled, use Hatch for storing workstation registration
information.

If workstations are found in localStorage, they are merged into the
collection of workstations stored in hatch and removed from
localStorage.

Include DB udpate to add workstation setting 'eg.hatch.enable.printing'
so that it may live on the server.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
4 years agoDocs: Fix AsciiDoc syntax error in glossary
Remington Steed [Fri, 13 Dec 2019 13:22:17 +0000 (08:22 -0500)]
Docs: Fix AsciiDoc syntax error in glossary

This commit fixes a minor syntax problem that causes an AsciiDoc build
error.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
4 years agoDocs: Added linkages, and additonal terms.
lfloyd [Fri, 6 Dec 2019 19:26:35 +0000 (14:26 -0500)]
Docs: Added linkages, and additonal terms.

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
4 years agoDocs: Glossary Added
Lynn [Wed, 27 Nov 2019 17:18:01 +0000 (12:18 -0500)]
Docs: Glossary Added

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
4 years agoLP#1803406 Due date box in check out has display issues at wider resolutions
Dan Briem [Wed, 7 Aug 2019 23:13:21 +0000 (19:13 -0400)]
LP#1803406 Due date box in check out has display issues at wider resolutions

Adjusted bootstrap .col classes so the specific due date input displays the
full date and prevents the barcode input group from collapsing at < 1179px.

Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1830923 Replace some pesky tabs
Bill Erickson [Thu, 5 Dec 2019 15:08:48 +0000 (10:08 -0500)]
LP1830923 Replace some pesky tabs

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1830923: do not show Enhanced MARC editor tab when editing in-place
Galen Charlton [Wed, 4 Dec 2019 22:41:38 +0000 (17:41 -0500)]
LP#1830923: do not show Enhanced MARC editor tab when editing in-place

As the the AngularJS side does not currently offer a path
for directly editing a queued record, the enhancd editor tab
serves no purpose in this context.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP#1830923: add support for editing queued authority records
Galen Charlton [Wed, 4 Dec 2019 22:34:45 +0000 (17:34 -0500)]
LP#1830923: add support for editing queued authority records

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1830923 Vandelay queued record editing
Bill Erickson [Thu, 17 Oct 2019 21:59:08 +0000 (17:59 -0400)]
LP1830923 Vandelay queued record editing

This patch adds MARC record editing the the Angular
Vandelay interface using the Angular MARC editor
component, which as of the date of this patch offers
a flat-text mode.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1830923 Marc edit in-place additions
Bill Erickson [Thu, 17 Oct 2019 21:57:10 +0000 (17:57 -0400)]
LP1830923 Marc edit in-place additions

Improve Angular MARC editor for in-place editing.

* Make inPlaceMode a proper @Input.
* Allow the caller to pass in the bib source
* The recordSaved event now reports both the MARC XML and the currently
  selected bib source.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoLP1830923 Combobox LP1844812 regression fix
Bill Erickson [Thu, 17 Oct 2019 21:44:40 +0000 (17:44 -0400)]
LP1830923 Combobox LP1844812 regression fix

Allow a combobox to start with an empty array that is later filled by
the caller.  This was broken due to changes which prevented the combobox
from seeing an empty/stub array as being different from its
initialization array, thus ignoring empty array as a duplicate.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
4 years agoDocs: corrected image file reference in carousels.adoc
Andrea Buntz Neiman [Fri, 6 Dec 2019 14:50:10 +0000 (09:50 -0500)]
Docs: corrected image file reference in carousels.adoc

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
4 years agoDocs: follow up commit to fix include error
Andrea Buntz Neiman [Thu, 5 Dec 2019 21:07:20 +0000 (16:07 -0500)]
Docs: follow up commit to fix include error

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
4 years agoDocs: adding Carousels docs and screenshots
Felicia Beaudry [Thu, 5 Dec 2019 20:35:50 +0000 (15:35 -0500)]
Docs: adding Carousels docs and screenshots

Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>