Evergreen.git
4 years agoLP#1516022: add release note
Galen Charlton [Fri, 13 Nov 2015 14:19:17 +0000 (14:19 +0000)]
LP#1516022: add release note

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
4 years agoLP#1516022: new reporting source for hold/copy ratios
Galen Charlton [Mon, 19 Oct 2015 20:41:12 +0000 (20:41 +0000)]
LP#1516022: new reporting source for hold/copy ratios

This patch adds a new reporting source, "Hold/Copy Ratio per Bib
and Pickup Library (and Descendants)", that, for each bib
that has a hold request on it or any of its components,
calculates the following:

 - active holds at each OU (including the OU's descendants)
 - holdable copies at each OU (and its descendants)
 - the ratio of the above two counts
 - counts and ratio across the entire consortium

This work was sponsored by the Pennsylvania Integrated Library
System (PaILS).

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
4 years agoLP#1531976: fix bringing up Mesage Center and Triggered Events
Thomas Berezansky [Thu, 7 Jan 2016 19:34:18 +0000 (14:34 -0500)]
LP#1531976: fix bringing up Mesage Center and Triggered Events

This patch fixes a bug in the XUL staff client where
using Other -> Triggered Events from the patron page,
then Other -> Message Center, only brings up the Triggered
Events page in both cases (and vice versa).

This patch works by preventing the deck code from thinking they are
the same page, despite both using the browser wrapper as their base URL.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4 years agoLP#1519911: upgrade script to fix self-checkout receipt A/T template
Galen Charlton [Wed, 2 Mar 2016 19:32:35 +0000 (14:32 -0500)]
LP#1519911: upgrade script to fix self-checkout receipt A/T template

This patch adds an update to fix the "lb_addr.post_code" typo
in the stock A/T event definition for self-checkout receipts.
This update changes the definition *only* if it has not
been customized by the user, and it does not attempt to
fix any copies of that definition.

To test
-------
[1] Upon applying the update, generate a receipt from the
    web-based self-check interface.  The library's postal
    code (if set) should now display in the receipt.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4 years agoLP#1519911: fix typos in some seed A/T tempaltes
Terran McCanna [Tue, 1 Mar 2016 23:09:05 +0000 (18:09 -0500)]
LP#1519911: fix typos in some seed A/T tempaltes

This corrects typos in the seed data for these action trigger templates:

- Self-Checkout Receipt
- Hold Cancelled (No Target) Email Notification
- Hold Cancelled (No Target) User Message

Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4 years agoLP#1544723: i18n - Add webstaff to update_pofiles
Ben Shum [Thu, 11 Feb 2016 19:16:28 +0000 (14:16 -0500)]
LP#1544723: i18n - Add webstaff to update_pofiles

Add webstaff po file to the update_pofiles script so that future syncs
from the Launchpad bzr will update the webstaff po files.

Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4 years agoLP#1545226 - Fix MARC Batch Editor status screen.
Josh Stompro [Mon, 15 Feb 2016 14:24:38 +0000 (08:24 -0600)]
LP#1545226 - Fix MARC Batch Editor status screen.

This patch does the following:

  - The html table was broken, fixed the markup.
  - Added some styling to the table.
  - Added a row with total records info.
  - Fixed the progress bar popup; it now displays
    percentage completion and has a title so it is
    wide enough to do so
  - Added color to failed row (red), and to completion text (green).

To test:

[1] In the staff interface (both XUL and web), perform
    a MARC Batch Edit on a bucket that contains at least
    a few bib records.
[2] Verify that the progress dialog now displays the
    percentage completion of the batch edit; verify
    that there is now a row displaying the total number
    of records.

Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4 years agoLP#1548147: add release notes
Galen Charlton [Wed, 2 Mar 2016 18:46:19 +0000 (13:46 -0500)]
LP#1548147: add release notes

Also, here is a test plan for the future:

[1] Using MARC Batch Import/Export, load a file
    of MARC records into a queue (arranging the matching
    criteria so that at least a few of the records
    aren't automatically imported into the catalog).
[2] Inspect the queue, and click on the "Export Non-Imported
    Records link", then save the resulting file.
[3] Verify that the file contains, in MARC format, the set
    of records that were not imported into the catalog.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4 years agoLP#1548147: set export format to MARC
Galen Charlton [Wed, 2 Mar 2016 18:42:11 +0000 (13:42 -0500)]
LP#1548147: set export format to MARC

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4 years agoLP#1548147 Quick Export Feature for Vandelay Queues
Dan Wells [Thu, 25 Feb 2016 16:44:23 +0000 (11:44 -0500)]
LP#1548147 Quick Export Feature for Vandelay Queues

When we import records into Vandelay, sometimes some of the records
are not what we expected, so they get rejected.  These records often
need to be loaded using a different set of options, so this link makes
it convenient to get a new file of just the rejects.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4 years agoLP#1507845 SEO home.tt2 template repair
Bill Erickson [Wed, 2 Mar 2016 15:47:29 +0000 (10:47 -0500)]
LP#1507845 SEO home.tt2 template repair

Ensure all TT code lives within the [% ... %] blocks.  This fixes an
issue where TT code "ctx.metalinks.push('');" was appearing in the
catalog as bare text.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
4 years agoLP#1312699 Circ history clear-all repair
Bill Erickson [Wed, 2 Mar 2016 15:30:24 +0000 (10:30 -0500)]
LP#1312699 Circ history clear-all repair

Repairs circ ID filter to allow all items in circ history to clear when
patrons disable circulation history.

open-ils.cstore will fail on {in => undef} queries.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
4 years agoLP#1507845: Improve search engine optimization
Dan Scott [Tue, 20 Oct 2015 02:21:58 +0000 (22:21 -0400)]
LP#1507845: Improve search engine optimization

Back in bug # 1414033 , we added rel="nofollow" attributes to many of the links
that led to search results or call number browsing. This was the right idea,
but a bit overzealous as it turns out. We actually want search engines to
follow those links; we just don't want search engines to index them.

Therefore, we can tweak the <meta> tag in the results and browse page headers
to say "follow,noindex", and remove many of the inline rel="nofollow"
attributes from the other pages.

In addition, add a rel="canonical" link to the catalogue home page.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <ben@evergreener.net>
Conflicts:
Open-ILS/src/templates/opac/parts/record/subjects.tt2

4 years agoLP#1312699: Minor modifications to patron checkout history deletions
Jake Litrell [Tue, 1 Mar 2016 22:22:28 +0000 (17:22 -0500)]
LP#1312699: Minor modifications to patron checkout history deletions

Minor modifications to make patron checkout history deletions work with
the new table.  open-ils.actor.history.circ.clear
extended to take an optional list of circ_ids, to limit what's deleted
from the history.

Signed-off-by: Jake Litrell <jake@masslnc.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
4 years agoLP#1312699: Whitespace cleanup.
Jake Litrell [Tue, 1 Mar 2016 21:42:35 +0000 (16:42 -0500)]
LP#1312699: Whitespace cleanup.

Signed-off-by: Jake Litrell <jake@masslnc.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
4 years agoLP#1312699 - Add feature to allow user to edit their checkout history.
Dan Pearl [Tue, 20 Oct 2015 21:05:07 +0000 (17:05 -0400)]
LP#1312699 - Add feature to allow user to edit their checkout history.

In the checkout history page, a new column and action selector is provided to allow
the paton to indicate items they would just as soon not want to see again in the
history list for whatever reason.  NOTE: This is not a PURGE function; it simply
suppresses display of items in the history list (and exported history files).
Internally, the circulations are kept by Evergreen for several reasons which are
not affected by this functionality.

Signed-off-by: Dan Pearl <dpearl@cwmars.org>
Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Jake Litrell <jake@masslnc.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
4 years agoLP#1519055: Stamping upgrade script for electronic resources filter
Ben Shum [Wed, 2 Mar 2016 02:25:40 +0000 (21:25 -0500)]
LP#1519055: Stamping upgrade script for electronic resources filter

Signed-off-by: Ben Shum <ben@evergreener.net>
4 years agoLP#1519055: Fix to sql to get seed data values and to reingest instruction
Kathy Lussier [Mon, 29 Feb 2016 16:08:25 +0000 (11:08 -0500)]
LP#1519055: Fix to sql to get seed data values and to reingest instruction

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
4 years agoLP#1519055: Make electronic search filter optional
Jake Litrell [Fri, 26 Feb 2016 23:41:40 +0000 (18:41 -0500)]
LP#1519055: Make electronic search filter optional

Making checkboxes configurable, and off by default.  Release notes updated.

Signed-off-by: Jake Litrell <jake@masslnc.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
4 years agoLP#1519055: Some JS fixes
Jake Litrell [Wed, 24 Feb 2016 22:23:02 +0000 (17:23 -0500)]
LP#1519055: Some JS fixes

Adding basic javascript to remove our search filter from the
textbox on an advanced search form.  Because of the interplay among
various checkboxes/modifiers/filters, there may be duplicate filters
applied from another function's form submit; this removes all at once.

Signed-off-by: Jake Litrell <jake@masslnc.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
4 years agoLP#1519055: Add reingest instructions to upgrade script
Kathy Lussier [Wed, 24 Feb 2016 18:30:29 +0000 (13:30 -0500)]
LP#1519055: Add reingest instructions to upgrade script

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Jake Litrell <jake@masslnc.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
4 years agoLP#1519055: Adding Release Notes Entry for Exclude Electronic Resources Limiter
Kathy Lussier [Wed, 24 Feb 2016 16:43:50 +0000 (11:43 -0500)]
LP#1519055: Adding Release Notes Entry for Exclude Electronic Resources Limiter

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Jake Litrell <jake@masslnc.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
4 years agoLP#1519055: Adding Electronic to seed values; adding upgrade script.
Jake Litrell [Wed, 24 Feb 2016 01:18:48 +0000 (20:18 -0500)]
LP#1519055: Adding Electronic to seed values; adding upgrade script.

Signed-off-by: Jake Litrell <jake@masslnc.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
4 years agoLP#1519055: Fixes
Jake Litrell [Tue, 23 Feb 2016 22:47:15 +0000 (17:47 -0500)]
LP#1519055: Fixes

Removing the <br> which moves the search results checkboxes to a new
line.  Formatting will be addressed in a separate bug.

Signed-off-by: Jake Litrell <jake@masslnc.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
4 years agoLP#1519055: Exclude Electronic checkbox on results page updates results.
Jake Litrell [Mon, 22 Feb 2016 05:17:36 +0000 (00:17 -0500)]
LP#1519055: Exclude Electronic checkbox on results page updates results.

Signed-off-by: Jake Litrell <jake@masslnc.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
4 years agoLP#1519055: more changes
Jake Litrell [Mon, 22 Feb 2016 04:16:51 +0000 (23:16 -0500)]
LP#1519055: more changes

- Add checkbox to search results page
- Adding persistence for checkboxes.
- Sentence Case Fix

Signed-off-by: Jake Litrell <jake@masslnc.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
4 years agoLP#1519055: Simple checkbox to exclude electronic resources from search results
Jake Litrell [Mon, 8 Feb 2016 20:51:10 +0000 (15:51 -0500)]
LP#1519055: Simple checkbox to exclude electronic resources from search results

Initial checkbox to exclude electronic resources (types 'o' and 's' for
now).

Signed-off-by: Jake Litrell <jake@masslnc.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
4 years agoWhitespace cleanup.
Jake Litrell [Mon, 8 Feb 2016 19:37:47 +0000 (14:37 -0500)]
Whitespace cleanup.

Signed-off-by: Jake Litrell <jake@masslnc.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
4 years agoLP#1506534: Stamping upgrade script for new z3950_attr_type check
Ben Shum [Sun, 28 Feb 2016 00:27:45 +0000 (19:27 -0500)]
LP#1506534: Stamping upgrade script for new z3950_attr_type check

Signed-off-by: Ben Shum <ben@evergreener.net>
4 years agoLP#1506534: Fix typo in for z3950_attr_type
Ben Shum [Sun, 28 Feb 2016 00:28:37 +0000 (19:28 -0500)]
LP#1506534: Fix typo in for z3950_attr_type

In 002.schema.config.sql there was a small typo for "z3950attr_name_is_valid"
where that should be "z3950_attr_name_is_valid" with the underscore between.

Fix to stop breakage on new database installs.

Signed-off-by: Ben Shum <ben@evergreener.net>
4 years agoLP#1506534: Improve czifm z3950_attr_type Check
Jason Boyer [Tue, 29 Dec 2015 18:53:04 +0000 (13:53 -0500)]
LP#1506534: Improve czifm z3950_attr_type Check

Rather than use a CHECK constraint, this patch
uses a CONSTRAINT TRIGGER, er, constraint to verify
the z3950_attr_type field. This allows the trigger
to be deferred as any other deferrable constraint
and also allows parallel pg_restore jobs to complete
properly.

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Ben Shum <ben@evergreener.net>
4 years agoLP#1491571: Ignore Case when Checking PW Reset email
Jason Boyer [Wed, 2 Sep 2015 20:20:13 +0000 (16:20 -0400)]
LP#1491571: Ignore Case when Checking PW Reset email

Emails are not passwords and are not case sensitive;
while it is a good idea to require patrons to prove
they know the address associated with their account
it is not cool to deny them because they don't know
the capitalization of the value in the database.

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Ben Shum <ben@evergreener.net>
4 years agoLP#1474566 Avoid credit card payment rounding
Bill Erickson [Tue, 14 Jul 2015 18:25:34 +0000 (14:25 -0400)]
LP#1474566 Avoid credit card payment rounding

Calculate total amount for credit payment as integers to avoid rounding
errors w/ large sets of small billings.

E.g. avoid trying to pay a fine of 9.999999999999 for a set of fines
which should add up to 10.00.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Ben Shum <ben@evergreener.net>
4 years agoLP#1197636 - Email record detail does not check for email
Dan Pearl [Fri, 2 Oct 2015 18:54:39 +0000 (14:54 -0400)]
LP#1197636 - Email record detail does not check for email

Even though no email was configured, the message shown when requesting
bib information to be emailed indicated success.  This misleading
behavior has been addressed by alerting the patron of the situation
and providing a link to the page where the email address is defined,
after which the action is automatically retried.

The success message has also been altered slightly to provide
confirmation of the generated email.

To test:

[1] Create a patron account that does not have an email address.
[2] In the OPAC, log in as that patron and attempt to email a
    bib record.  A message should display indicating that the
    email can be sent; that message should contain a link to the
    user's account page where they can set their email address.
[3] After setting the email address, you should then be
    redirected back and the email sent.

Signed-off-by: Dan Pearl <dpearl@cwmars.org>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Ben Shum <ben@evergreener.net>
4 years agoLP#1539776 Stop wrapping of radio buttons in vol/copy editor
Kathy Lussier [Fri, 29 Jan 2016 21:19:17 +0000 (16:19 -0500)]
LP#1539776 Stop wrapping of radio buttons in vol/copy editor

Simple CSS tweak to keep radio buttons and their labels on the same line.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
4 years agoLP#1546125: use correct service for .storePrintTemplate
Jason Etheridge [Tue, 16 Feb 2016 13:49:16 +0000 (08:49 -0500)]
LP#1546125: use correct service for .storePrintTemplate

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Ben Shum <ben@evergreener.net>
4 years agoLP#1516104: Amending wording in license text to clarify correct license.
Chris Sharp [Fri, 26 Feb 2016 22:34:25 +0000 (17:34 -0500)]
LP#1516104: Amending wording in license text to clarify correct license.

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
4 years agoLP#1516104: Adding the PNGs generated from mrpeters' SVG files and adjusting the...
Chris Sharp [Mon, 4 Jan 2016 20:33:37 +0000 (15:33 -0500)]
LP#1516104: Adding the PNGs generated from mrpeters' SVG files and adjusting the file paths/names.

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Removing placeholder icons

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
4 years agoLP#1516104: Create Invoice and Purchase Order Search Icon Vectors
Michael Peters [Mon, 4 Jan 2016 19:23:08 +0000 (14:23 -0500)]
LP#1516104: Create Invoice and Purchase Order Search Icon Vectors

Created SVG vector art derived from existing icon art to accomodate missing
search icons for purchase order and invoices in Acquisitions.

Signed-off-by: Michael Peters <mpeters@emeralddata.net>
Signed-off-by: Ben Shum <ben@evergreener.net>
4 years agoLP#1516104: Adding additional toolbar options for acq.
Chris Sharp [Fri, 13 Nov 2015 16:21:57 +0000 (11:21 -0500)]
LP#1516104: Adding additional toolbar options for acq.

"Invoices" and "Purchase Orders"

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
4 years agoLP#1422802 Fix javascript validation for visible parts
Kathy Lussier [Thu, 25 Feb 2016 17:26:02 +0000 (12:26 -0500)]
LP#1422802 Fix javascript validation for visible parts

The previous javascript validation was not working for records with just one
part. This one works better. Many thanks to Dan Wells for identifying the fix.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
4 years agoLP#122975 Add year to copyright statement
Kathy Lussier [Fri, 26 Feb 2016 22:03:03 +0000 (17:03 -0500)]
LP#122975 Add year to copyright statement

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
4 years agolp122975-add-licensing-text
Kathy Lussier [Thu, 25 Feb 2016 22:01:11 +0000 (17:01 -0500)]
lp122975-add-licensing-text

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
4 years agoLP1229757 - Distinct images for holds, reserves, transits
Martha Driscoll [Mon, 22 Feb 2016 20:34:15 +0000 (15:34 -0500)]
LP1229757 - Distinct images for holds, reserves, transits

This commit changes the references to turtle.gif to three new images
holdshelf.png, reserve.png, and transit.png. When checking in a copy
that needs to go on the hold shelf, on the reservation shelf, or
in transit, a distinct image will show in the pop-up window.

Signed-off-by: Martha Driscoll <driscoll@noblenet.org>
4 years agoLP#1548143 Stamping upgrade script for Vandelay parts support
Kathy Lussier [Fri, 26 Feb 2016 20:59:37 +0000 (15:59 -0500)]
LP#1548143 Stamping upgrade script for Vandelay parts support

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
4 years agoLP#1548143 Support for parts import in Vandelay
Dan Wells [Tue, 13 Oct 2015 15:27:14 +0000 (11:27 -0400)]
LP#1548143 Support for parts import in Vandelay

This commit adds support for 'parts' import in Vandelay.  It is
modeled after the existing support for stat cat import.  As such, it:

- Uses '|' characters to separate labels to allow for multiple
  part assignment.
- Adds to (rather than replaces) any existing parts assigned to overlay
  copies.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
4 years agoLP#1468422 Stamping DB upgrade for actor.passwd
Bill Erickson [Fri, 26 Feb 2016 15:11:56 +0000 (10:11 -0500)]
LP#1468422 Stamping DB upgrade for actor.passwd

Signed-off-by: Bill Erickson <berickxx@gmail.com>
4 years agoLP#1468422 Use auth_internal.validate to shore up AuthProxy
Dan Wells [Tue, 26 Jan 2016 19:22:21 +0000 (14:22 -0500)]
LP#1468422 Use auth_internal.validate to shore up AuthProxy

Even if a user has valid credentials in the external system, we should
block them from logging in if their Evergreen account is out of sorts.
Use the API designed for this.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
4 years agoLP#1468422 "Aut" to "Auth" typo fix
Dan Wells [Tue, 26 Jan 2016 18:36:14 +0000 (13:36 -0500)]
LP#1468422 "Aut" to "Auth" typo fix

Just cosmetic for now, but potentially for future sanity protection.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
4 years agoLP#1468422 Make AuthProxy.pm work with new auth
Dan Wells [Tue, 5 Jan 2016 19:24:21 +0000 (14:24 -0500)]
LP#1468422 Make AuthProxy.pm work with new auth

Previously, AuthProxy.pm would simply lookup and use the hashed password
when the external authentication had passed.  This simple method no
longer works, since even cstore doesn't have access to the hashed
password.

Instead, take advantage of the new 'auth_internal' service to create the
user session after the user has been externally authenticated.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
4 years agoLP#1468422 Tighten AuthProxy argument requirements
Dan Wells [Tue, 5 Jan 2016 19:21:11 +0000 (14:21 -0500)]
LP#1468422 Tighten AuthProxy argument requirements

Basically, if we aren't given a username, and we can't find a username
by barcode, give up immediately.  This helps simplify the rest of the
code a bit.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
4 years agoLP#1468422 Release notes example avoid re-migrate
Bill Erickson [Thu, 18 Feb 2016 15:42:11 +0000 (10:42 -0500)]
LP#1468422 Release notes example avoid re-migrate

Update the batch password migrate example code in the release notes to
avoid attempts at migrating already migrated passwords.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years agoLP#1468422 Manual password migrate does not re-migrate
Bill Erickson [Thu, 18 Feb 2016 15:28:46 +0000 (10:28 -0500)]
LP#1468422 Manual password migrate does not re-migrate

Avoid migrating already-migrated passwords when actor.migrate_passwd()
is called manually.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years agoLP#1468422 Release notes manual pw migration comments
Bill Erickson [Wed, 17 Feb 2016 22:33:39 +0000 (17:33 -0500)]
LP#1468422 Release notes manual pw migration comments

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years agoLP#1468422 Drop auth work factor from 14 to 10
Bill Erickson [Wed, 17 Feb 2016 22:23:34 +0000 (17:23 -0500)]
LP#1468422 Drop auth work factor from 14 to 10

Avoid what may be an unacceptible login delay caused by work factor 14
by dropping down to 10.  This reduces the CRYPT() time from ~1 second to
~.1 seconds.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years agoLP#1468422 Always default to root org unit
Bill Erickson [Mon, 1 Feb 2016 15:15:23 +0000 (10:15 -0500)]
LP#1468422 Always default to root org unit

If no org unit is passed by the caller, always default to the root org
unit.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years agoLP#1468422 Auth efficiency improvements
Bill Erickson [Wed, 27 Jan 2016 17:11:33 +0000 (12:11 -0500)]
LP#1468422 Auth efficiency improvements

1. Adds an oils_utils function for retrieving the ID of the root org
unit.

2. Avoid multiple cstore/db lookups for the root org unit by caching the
ID at the process level.

3. Move permission checks from open-ils.storage to open-ils.cstore.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years agoLP#1468422 Login permission checks are global
Bill Erickson [Wed, 27 Jan 2016 16:46:17 +0000 (11:46 -0500)]
LP#1468422 Login permission checks are global

For backwards compat, perform all login permission checks using the root
org unit as the context org unit.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years agoLP#1468422 Return vanilla login failure on nonexistent username/barcode
Bill Erickson [Tue, 26 Jan 2016 19:16:06 +0000 (14:16 -0500)]
LP#1468422 Return vanilla login failure on nonexistent username/barcode

For backwards compatibility (and security), return the same login
failure for nonexistent usernames/barcodes as for bad passwords, etc.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years agoLP#1468422 Report inactive card on password OK
Bill Erickson [Mon, 11 Jan 2016 16:02:23 +0000 (11:02 -0500)]
LP#1468422 Report inactive card on password OK

Prevent leaking information from authentication by only reporting that a
card is inactive if the caller provided the correct credentials.  This
is consistent with how the code handles inactive patrons.

To avoid a lot of code duplication and to reduce the potential for
leaking memory (C code, amiright?), this commit includes a number of
changes to avoid exiting the API function early and saving the memory
cleanup routines until the end of the API call.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years agoLP#1468422 auth-internal validate API
Bill Erickson [Fri, 8 Jan 2016 20:06:14 +0000 (15:06 -0500)]
LP#1468422 auth-internal validate API

Adds a new open-ils.auth_internal API
open-ils.auth_internal.user.validate for checking whether a user should
be allowed to login.

It tests user existence, active=true, barred=false, deleted=false.

If a barcode is also provided, it confirms the barcode exists and is
active.

Modifies open-ils.auth.authenticate.complete to use the new API instead
of implementing the logic directly.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years agoLP#1468422 Remove deprecated open-ils.storage remote_update
Bill Erickson [Tue, 24 Nov 2015 17:18:16 +0000 (12:18 -0500)]
LP#1468422 Remove deprecated open-ils.storage remote_update

User update in Actor.pm was the only remaining code that leveraged
the open-ils.storage remote_update API.  With that code moving to
open-ils.cstore, save some RAM by no longer auto-loading/publishing
remote_update methods.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years agoLP#1468422 SIP password verification
Bill Erickson [Tue, 24 Nov 2015 16:46:32 +0000 (11:46 -0500)]
LP#1468422 SIP password verification

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years agoLP#1468422 Implement password reset updates
Bill Erickson [Tue, 24 Nov 2015 16:31:06 +0000 (11:31 -0500)]
LP#1468422 Implement password reset updates

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years agoLP#1468422 Port user update to cstore
Bill Erickson [Tue, 24 Nov 2015 16:15:06 +0000 (11:15 -0500)]
LP#1468422 Port user update to cstore

Migrate the user update code from open-ils.storage to open-ils.cstore.
This has several benefits:

1. We can re-use the patron password update code
2. Several actions (bad contacts, invalid address) which previously
   resulted in data modifications outside the main transaction now
   take place with the main patron update transaction.
3. Bigger, better, faster, stronger.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years agoLP#1468422 Password verify and password update
Bill Erickson [Mon, 23 Nov 2015 22:13:48 +0000 (17:13 -0500)]
LP#1468422 Password verify and password update

These API's now support new-style passwords:

open-ils.actor.verify_user_password
open-ils.actor.user.password.update

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years agoLP#1468422 Admin seed data sets new-style passwd
Bill Erickson [Mon, 23 Nov 2015 18:56:36 +0000 (13:56 -0500)]
LP#1468422 Admin seed data sets new-style passwd

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years agoLP#1468422 Password storage release notes
Bill Erickson [Mon, 23 Nov 2015 18:22:37 +0000 (13:22 -0500)]
LP#1468422 Password storage release notes

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years agoLP#1468422 Admin seed data sets new-style passwd
Bill Erickson [Mon, 23 Nov 2015 17:51:31 +0000 (12:51 -0500)]
LP#1468422 Admin seed data sets new-style passwd

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years agoLP#1468422 New open-ils.auth_internal service
Bill Erickson [Thu, 19 Nov 2015 20:00:20 +0000 (15:00 -0500)]
LP#1468422 New open-ils.auth_internal service

Service is responsible for adding user data to the authentication cache.
Cache times are determined from opensrf.xml/AOUS settings.  No
authentication checks are performed.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years agoLP#1468422 Add libpcre to build for open-ils.auth
Bill Erickson [Fri, 24 Jul 2015 15:20:06 +0000 (11:20 -0400)]
LP#1468422 Add libpcre to build for open-ils.auth

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years agoLP#1468422 open-ils.auth API salted pw changes
Bill Erickson [Wed, 22 Jul 2015 22:02:19 +0000 (18:02 -0400)]
LP#1468422 open-ils.auth API salted pw changes

Added .init.barcode and .init.username methods.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years agoLP#1468422 Password storage/migration SQL getting started
Bill Erickson [Fri, 17 Jul 2015 20:00:17 +0000 (16:00 -0400)]
LP#1468422 Password storage/migration SQL getting started

* Backwards compatible salted password storage using pgcrypt
* Adds actor.passwd and actor.passwd_type tables
* Includes pgtap tests
* Includes installation of pgcrypto

Current flow:

1. Application requests a salt to use as the CHAP-style seed
2. If new-style password exists, salt is returned.
3. Else, old password is migrated and the new salt is returned.
4. App finalizes login by checking verify_passwd.

== continued...

Store the iter_count and start using the crypt_algo column.

Make it possible to change the salt, and potentially strengthen
the salt, when changing passwords.

Make is possible to start salt-less passwords, for pw's that are managed
outside of the DB.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
4 years agoLP#1333254 Improve entry debit maintenance for inv. open/close.
Bill Erickson [Thu, 25 Feb 2016 18:33:20 +0000 (13:33 -0500)]
LP#1333254 Improve entry debit maintenance for inv. open/close.

Improve handling of debit->entry links for invoices that cross the
open/close boundary, modifying the number of items invoiced on an entry,
and rolling back invoice entry debits.

Prior to this, some debits would be unnecessarily linked to entries and
fail to clean up properly when rolled back.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
4 years agoLP#1333254 Support closing new invoices
Bill Erickson [Wed, 24 Feb 2016 17:35:53 +0000 (12:35 -0500)]
LP#1333254 Support closing new invoices

Allow invoices to be closed at create time (as originally intended) by
fixing code thinko.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
4 years agoLP#1333254 Release notes
Bill Erickson [Mon, 4 Jan 2016 19:38:28 +0000 (14:38 -0500)]
LP#1333254 Release notes

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
4 years agoLP#1333254 Perl live tests
Bill Erickson [Mon, 4 Jan 2016 20:24:18 +0000 (15:24 -0500)]
LP#1333254 Perl live tests

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
4 years agoLP#1333254 Disencumber on invoice close
Bill Erickson [Thu, 31 Dec 2015 22:35:34 +0000 (17:35 -0500)]
LP#1333254 Disencumber on invoice close

Set encumbrance=false on invoiced fund debits when the invoice is closed
(complete=true) instead of when the invoice is created.

To test:

1. Activate a purchase order.
2. Create an invoice for the PO.
3. Confirm PO shows same amount encumbered as befor invoicing and $0
   paid.
4. Close the invoice.
5. Confirm amount encumbered on the PO is reduced by the amount invoiced
   and the amount paid on the PO is increased by the amount invoiced.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
4 years agoLP#1527342 Stamping upgrade script decouple checkout history
Kathy Lussier [Fri, 26 Feb 2016 00:30:05 +0000 (19:30 -0500)]
LP#1527342 Stamping upgrade script decouple checkout history

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
4 years agoLP#1527342 Improve display of C/O history delete warning
Bill Erickson [Thu, 25 Feb 2016 18:52:29 +0000 (13:52 -0500)]
LP#1527342 Improve display of C/O history delete warning

Move the history warning to the top of the form for visbility and avoid
displaying the success message when the warning is also displayed.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
4 years agoLP#1527342 Patron CO history CSV update core type
Bill Erickson [Wed, 24 Feb 2016 15:01:06 +0000 (10:01 -0500)]
LP#1527342 Patron CO history CSV update core type

Modify circ.format.history.csv to core type of 'auch' in seed data.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
4 years agoLP#1527342 Patron checkout history CSV export repair
Bill Erickson [Tue, 23 Feb 2016 15:42:27 +0000 (10:42 -0500)]
LP#1527342 Patron checkout history CSV export repair

When exporting circ history as CSV, export history objects, not
(unrelated) circ objects.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
4 years agoLP#1527342 Patron checkout history table release notes
Bill Erickson [Mon, 28 Dec 2015 17:22:57 +0000 (12:22 -0500)]
LP#1527342 Patron checkout history table release notes

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
4 years agoLP#1527342 Patron checkout history PGTAP tests
Bill Erickson [Mon, 28 Dec 2015 15:43:58 +0000 (10:43 -0500)]
LP#1527342 Patron checkout history PGTAP tests

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
4 years agoLP#1527342 search result history tagging
Bill Erickson [Tue, 22 Dec 2015 20:14:12 +0000 (15:14 -0500)]
LP#1527342 search result history tagging

Use circ history data to indicate circulated items in search results.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
4 years agoLP#1527342 Patron checkout history TPAC display
Bill Erickson [Mon, 21 Dec 2015 16:19:19 +0000 (11:19 -0500)]
LP#1527342 Patron checkout history TPAC display

Checkout history is now derived from the new action.usr_circ_history
table.  When a patron disables circ history, all history is deleted from
the new table.  Also, when disabling circ or holds history, the patron
is now warned if data will be deleted or, in the case of holds, become
inaccessible.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
4 years agoLP#1527342 Patron co history remove on purge
Bill Erickson [Wed, 30 Dec 2015 16:53:52 +0000 (11:53 -0500)]
LP#1527342 Patron co history remove on purge

Delete checkout history rows when purging a user.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
4 years agoLP#1527342 Patron checkout history SQL/IDL
Bill Erickson [Fri, 18 Dec 2015 23:09:16 +0000 (18:09 -0500)]
LP#1527342 Patron checkout history SQL/IDL

Adds a new table action.usr_circ_history for tracking opt-in checkout
history.  History is maintained via trigger on action.circulation.

Includes updates to html/email/csv checkout history templates to
gracefully handle NULL checkin_time values, since history starts as soon
as an item is checked out.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
4 years agoLP#1452950: add release notes
Galen Charlton [Thu, 25 Feb 2016 22:48:54 +0000 (17:48 -0500)]
LP#1452950: add release notes

Currently treating this as a technology preview; this may
change before release of 2.10.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4 years agoLP#1452950 Patron reg pending users
Bill Erickson [Sun, 21 Feb 2016 23:43:53 +0000 (18:43 -0500)]
LP#1452950 Patron reg pending users

Support loading pending users and removing pending users after save.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4 years agoLP#1452950 Patron reg. clone user
Bill Erickson [Thu, 18 Feb 2016 14:59:09 +0000 (09:59 -0500)]
LP#1452950 Patron reg. clone user

Implemented Save & Clone.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4 years agoLP#1452950 date input supports null dates
Bill Erickson [Wed, 17 Feb 2016 02:40:57 +0000 (21:40 -0500)]
LP#1452950 date input supports null dates

Leave a date unset when its value is null instead of defaulting to now.
Support unsetting a date when its value is cleared.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4 years agoLP#1452950 re-attach unload warning after click-through
Bill Erickson [Wed, 17 Feb 2016 01:56:26 +0000 (20:56 -0500)]
LP#1452950 re-attach unload warning after click-through

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4 years agoLP#1452950 Support free-text stat cats
Bill Erickson [Sat, 23 Jan 2016 20:19:00 +0000 (15:19 -0500)]
LP#1452950 Support free-text stat cats

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4 years agoLP#1452950 Stat cat maps store values, not links
Bill Erickson [Fri, 22 Jan 2016 03:21:15 +0000 (22:21 -0500)]
LP#1452950 Stat cat maps store values, not links

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4 years agoLP#1452950 Remove unsaved data warning after click-thru
Bill Erickson [Sat, 16 Jan 2016 20:15:01 +0000 (15:15 -0500)]
LP#1452950 Remove unsaved data warning after click-thru

Once the user clicks through the unsaved data warning, clear the warning
for future navigation.  If more fields are changed, the warning will be
reinstated.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4 years agoLP#1452950 Unload prompts more handlers / dupe styling
Bill Erickson [Mon, 21 Dec 2015 00:51:01 +0000 (19:51 -0500)]
LP#1452950 Unload prompts more handlers / dupe styling

Link in remaining unload onchange handlers.  Use bootstrap alert styles
for dupe patron links.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4 years agoLP#1452950 Secondary groups dialog scrollable groups list
Bill Erickson [Sat, 16 Jan 2016 16:42:59 +0000 (11:42 -0500)]
LP#1452950 Secondary groups dialog scrollable groups list

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4 years agoLP#1452950 Patron reg pass=phone on new patrons only
Bill Erickson [Sat, 16 Jan 2016 16:39:08 +0000 (11:39 -0500)]
LP#1452950 Patron reg pass=phone on new patrons only

When changing a patron's phone number, only modify the password for new
patrons when the org setting patron.password.use_phone is enabled.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4 years agoLP#1452950 Patron reg avoid data re-fetch
Bill Erickson [Sat, 16 Jan 2016 16:34:44 +0000 (11:34 -0500)]
LP#1452950 Patron reg avoid data re-fetch

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>