Evergreen.git
6 years agoLP#1734737: Display originating template UI
Mike Rylander [Mon, 27 Nov 2017 18:06:56 +0000 (13:06 -0500)]
LP#1734737: Display originating template UI

Until the (planned for 3.1) ability to clone XUL-created reports in the web
staff client is completed, it would be useful to at least display to the user
the origin UI in which a template was created. This will allow staff to, for
the immediate term, decide which UI they should use to deal with a particular
template, re cloning etc.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
6 years agoDocs: fix list item index in basic_holds.adoc
Ben Shum [Wed, 29 Nov 2017 21:36:05 +0000 (16:36 -0500)]
Docs: fix list item index in basic_holds.adoc

Signed-off-by: Ben Shum <ben@evergreener.net>
6 years agolp1705133 view holds patron info redaction
Alex Cautley [Thu, 16 Nov 2017 23:03:11 +0000 (23:03 +0000)]
lp1705133 view holds patron info redaction

Removed extra or sensitive patron information from patron and record
hold grid

Signed-off-by: Alex Cautley <acautley@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/src/templates/staff/cat/catalog/t_holds.tt2
modified:   Open-ILS/src/templates/staff/circ/patron/t_holds_list.tt2

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years ago2nd level of bullets requires '**'
Dan Scott [Wed, 29 Nov 2017 20:31:26 +0000 (15:31 -0500)]
2nd level of bullets requires '**'

The Asciidoc for this file had two levels of indentations for the
intended bulleted list, but bullet indentation levels are set by
the number of asterisks:

* = 1st level
** = 2nd level

Signed-off-by: Dan Scott <dscott@laurentian.ca>
6 years agoLP1714390:Remove acp Editor Formatting Frustration
Jason Boyer [Fri, 1 Sep 2017 02:06:31 +0000 (22:06 -0400)]
LP1714390:Remove acp Editor Formatting Frustration

In bug 1713064 I added a directive to make it possible to use
a String as a Model in an Input tag with type Number. Unfortunately
there was also a formatting function in that branch that works well
sometimes but is far more frustrating than it is helpful for enough
workflows that it should be removed.

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
6 years agoLP#1734963: Teach copy template converter about older templates.
Chris Sharp [Tue, 28 Nov 2017 18:42:26 +0000 (13:42 -0500)]
LP#1734963: Teach copy template converter about older templates.

The XUL-to-web-client copy template converter created to fix
bug 1691269 needs a little help when the value stored is a
number rather than a string.

Thanks to Jeff Godin for troubleshooting help and Mike
Rylander for the suggested solution.

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Jeff Godin <jgodin@tadl.org>
6 years agoStamping upgrade script for xul-to-web copy template translation
Mike Rylander [Mon, 27 Nov 2017 18:53:40 +0000 (13:53 -0500)]
Stamping upgrade script for xul-to-web copy template translation

Signed-off-by: Mike Rylander <mrylander@gmail.com>
6 years agoLP#1691269: (follow-up) fix whitespace to match local style
Galen Charlton [Mon, 27 Nov 2017 18:24:39 +0000 (13:24 -0500)]
LP#1691269: (follow-up) fix whitespace to match local style

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
6 years agoLP#1691269: add unit test for convert_xul_templates
Galen Charlton [Mon, 27 Nov 2017 18:17:29 +0000 (13:17 -0500)]
LP#1691269: add unit test for convert_xul_templates

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
6 years agoLP#1691269: include volume fields in converted copy templates
Galen Charlton [Mon, 27 Nov 2017 17:46:33 +0000 (12:46 -0500)]
LP#1691269: include volume fields in converted copy templates

This patch insures that call number prefix, suffix, and classification
scheme from copy templates created in the XUL unified copy editor are
brought over to web staff copy templates.

Note that in order to successfully test the call number portion of
converted copy templates in the web staff client, the volume/copy editor
default "Allow Call Number attributes in Copy Templates" should be
turned on.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
6 years agoLP#1691269: (follow-up) include new cust in seed data
Galen Charlton [Mon, 27 Nov 2017 16:08:23 +0000 (11:08 -0500)]
LP#1691269: (follow-up) include new cust in seed data

Also s/Copier/Copy/.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
6 years agoLP1691269: Webstaff Copy Editor Templates
Jason Boyer [Sun, 22 Oct 2017 19:42:02 +0000 (15:42 -0400)]
LP1691269: Webstaff Copy Editor Templates

This branch will translate and transfer your XUL client templates
the first time you load the web client copy editor. From that point
on the two diverge with no further connection to each other.

This branch also allows your copy templates to travel with you
between browsers, machines, and so on, while still allowing users
that share a browser but not usernames to have their own templates.

Signed-off-by: Jason Boyer <JBoyer@library.in.gov>
Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoLP 1698176: Return undef with die event in Actor.pm _add_patron function.
Jason Stephenson [Thu, 15 Jun 2017 18:11:41 +0000 (14:11 -0400)]
LP 1698176: Return undef with die event in Actor.pm _add_patron function.

If the CStoreEditor create_actor_user call fails in the _add_patron
helper function in OpenILS/Application/Actor.pm, the CStorEditor's
die_event is returned as a scalar value.  The caller expects a list
return with two values: the user object in index 0 and the event, if
any, in index 1.

Returning just the event causes the caller to use the event as if it
were the user object.  This leads to a different error message later
in the code: Can't call method "billing_address" on unblessed
reference at /path/to/perlib/OpenILS/Application/Actor.pm line 743.

This commit changes the return value in the event of a database insert
failure to be the two member list as expected by the caller with undef
in index 0 and the die_event in index 1.  This returns the proper
error message to the client.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org>
7 years agoLP#1671150 Document unaccented name index fix
Jeff Godin [Tue, 7 Nov 2017 21:29:03 +0000 (16:29 -0500)]
LP#1671150 Document unaccented name index fix

Release notes for evergreen.unaccent_and_squash function (and
dependent indexes) fix.

Signed-off-by: Jeff Godin <jgodin@tadl.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
7 years agoLP#1671150 Stamp database upgrade script.
Jason Stephenson [Fri, 17 Nov 2017 20:15:15 +0000 (15:15 -0500)]
LP#1671150 Stamp database upgrade script.

Signed-off-by: Jason Stephenson <jason@sigio.com>
7 years agoLP#1671150 fix unqualified unaccent call
Jeff Godin [Fri, 23 Jun 2017 00:03:29 +0000 (20:03 -0400)]
LP#1671150 fix unqualified unaccent call

Fix index creation failures when using pg_restore by qualifying the
unaccent() function call in evergreen.unaccent_and_squash()

Signed-off-by: Jeff Godin <jgodin@tadl.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
7 years agoLP#1708489: Adjust sample holds status
Kathy Lussier [Fri, 17 Nov 2017 17:40:43 +0000 (12:40 -0500)]
LP#1708489: Adjust sample holds status

Changed the sample holds status to a status that would show up on a real-world holds
shelf.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
7 years agoLP#1708489 Hold Shelf Print Template Additions
Kyle Huckins [Tue, 24 Oct 2017 18:12:31 +0000 (18:12 +0000)]
LP#1708489 Hold Shelf Print Template Additions

- Add Hold Status and Shelf Expiry Date to Hold Shelf Print
Template

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/src/templates/staff/share/print_templates/t_hold_shelf_list.tt2
modified:   Open-ILS/web/js/ui/default/staff/admin/workstation/app.js

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
7 years agoLP#1708487: Update helper text in print template
Kathy Lussier [Fri, 17 Nov 2017 17:11:12 +0000 (12:11 -0500)]
LP#1708487: Update helper text in print template

Update the helper text for title and barcode for bills printer templates to
include xact.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
7 years agoLP#1708487 Add Title and Barcode to Bill Print Templates
Kyle Huckins [Mon, 30 Oct 2017 15:55:24 +0000 (15:55 +0000)]
LP#1708487 Add Title and Barcode to Bill Print Templates

- Add additional documentation to Bills, Current; Bills, Payment; and Bills,
Historical print templates.
- Convert xacts to objects containing all required information for print
templates

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/src/templates/staff/share/print_templates/t_bill_payment.tt2
modified:   Open-ILS/src/templates/staff/share/print_templates/t_bills_current.tt2
modified:   Open-ILS/src/templates/staff/share/print_templates/t_bills_historical.tt2
modified:   Open-ILS/web/js/ui/default/staff/circ/patron/bills.js

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
7 years agoDocs: fix broken image reference
Jeff Godin [Fri, 17 Nov 2017 17:07:42 +0000 (12:07 -0500)]
Docs: fix broken image reference

Fix broken image reference in copy tags documentation: file on disk
has lowercase png extension, reference in document was uppercase PNG
extension.

Signed-off-by: Jeff Godin <jgodin@tadl.org>
7 years agolp1646210 Call Number Affixes Waiting for Copy bugfix
Kyle Huckins [Thu, 16 Nov 2017 23:54:48 +0000 (23:54 +0000)]
lp1646210 Call Number Affixes Waiting for Copy bugfix

-Checks for a volume in hold data, preventing broken grids in cases
where a hold is waiting for copy

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

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
7 years agoDocs: updating SIP docs
Jane Sandberg [Fri, 17 Nov 2017 14:04:21 +0000 (06:04 -0800)]
Docs: updating SIP docs

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
7 years agoDocs: Set Per-OU Limits on Allowed Payment Amounts
Jane Sandberg [Fri, 17 Nov 2017 05:25:21 +0000 (21:25 -0800)]
Docs: Set Per-OU Limits on Allowed Payment Amounts

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
7 years agoMerge branch 'master' of git.evergreen-ils.org:Evergreen
Jane Sandberg [Fri, 17 Nov 2017 04:31:08 +0000 (20:31 -0800)]
Merge branch 'master' of git.evergreen-ils.org:Evergreen

7 years agoDocs: search scope info
Jane Sandberg [Fri, 17 Nov 2017 04:29:11 +0000 (20:29 -0800)]
Docs: search scope info

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
7 years agoDocs: making tt2 docs more modular
Jane Sandberg [Fri, 17 Nov 2017 04:11:20 +0000 (20:11 -0800)]
Docs: making tt2 docs more modular

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
7 years agoDocs: Asciidoc fixes
Angela Kilsdonk [Thu, 16 Nov 2017 15:35:34 +0000 (07:35 -0800)]
Docs: Asciidoc fixes

Fixed capitalization for image file formats.

Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org>
7 years agoDocs: small fixes to closed dates editor
Jane Sandberg [Sun, 12 Nov 2017 18:28:01 +0000 (10:28 -0800)]
Docs: small fixes to closed dates editor

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
7 years agoLP#1723498: fix display of count of duplicate patrons
Galen Charlton [Fri, 10 Nov 2017 21:43:29 +0000 (16:43 -0500)]
LP#1723498: fix display of count of duplicate patrons

This patch fixes an issue where the patron registration
form's alert for duplicate phone numbers did not display
the count of matching records. (This was caused by code
that was expecting a string to be passed by reference
when it's passed by value in JavaScript).

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1723498 Patron reg/edit dupe search repairs
Bill Erickson [Thu, 9 Nov 2017 15:46:50 +0000 (10:46 -0500)]
LP#1723498 Patron reg/edit dupe search repairs

Avoid clobbering duplicate patron search links by managing search URLs
individually by search type and displaying a search link per search
type.

This change includes an improvement over the XUL version in that a link
will be displayed per matching phone number so each can be searched,
instead of only searching the most recently entered phone number.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terra McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1731496 Avoid PhantomJS BroadcastChannel failure
Bill Erickson [Thu, 9 Nov 2017 16:39:12 +0000 (11:39 -0500)]
LP#1731496 Avoid PhantomJS BroadcastChannel failure

Avoid attempts to create BroadcastChannel objects in contexts where the
object does not exist.  Specifically, allow PhantomJS to run unit tesst
without dying on:

ReferenceError: Can't find variable: BroadcastChannel

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
7 years agoDocs: User Buckets
Angela Kilsdonk [Thu, 9 Nov 2017 23:30:45 +0000 (15:30 -0800)]
Docs: User Buckets

Documentation for user buckets.

Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org>
7 years agoDocs: Copy Tags/Digital Bookplates
Angela Kilsdonk [Thu, 9 Nov 2017 22:27:13 +0000 (14:27 -0800)]
Docs: Copy Tags/Digital Bookplates

Documentation for the copy tags feature.

Signed-off-by: Angela Kilsdonk <akilsdonk@esilibrary.com>
7 years agoDocs: Patron Search to Place Hold
Angela Kilsdonk [Thu, 9 Nov 2017 22:00:05 +0000 (14:00 -0800)]
Docs: Patron Search to Place Hold

Patron search functionality while placing a hold in the staff client.  Docs written by Mary Jinglewski.

Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org>
7 years agoDocs: Serials Module 3.0
Angela Kilsdonk [Thu, 9 Nov 2017 21:31:21 +0000 (13:31 -0800)]
Docs: Serials Module 3.0

Documentation for the Serials module in Evergreen 3.0

Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org>
7 years agoDocs: Re-adding the library settings for patron self-registration
Jane Sandberg [Thu, 9 Nov 2017 16:54:19 +0000 (10:54 -0600)]
Docs: Re-adding the library settings for patron self-registration

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
7 years agoDocs: incorporating offline circ docs
Jane Sandberg [Thu, 9 Nov 2017 16:24:59 +0000 (10:24 -0600)]
Docs: incorporating offline circ docs

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
7 years agoLP#1708488: adjust how patron financial summary is exposed to checkout receipts
Galen Charlton [Tue, 7 Nov 2017 18:41:55 +0000 (13:41 -0500)]
LP#1708488: adjust how patron financial summary is exposed to checkout receipts

This patch builds on the previous patch by grabbing the patron's
financial summary from the patron stats values. The "patron_money"
template value is no longer associated with a particular loan, meaning
that you can do things like this:

<span ng-if="patron_money.balance_owed">You owe the library ${{patron_money.balance_owed}}</span>

The additional values include

* patron_money.balance_owed - current balance
* patron_money.total_paid - payments made on outstanding fines/fees
* patron_money.total_owed - total of outstanding fines/fees

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Terra McCanna <tmccanna@georgialibraries.org>
7 years agoLP#1708488 Checkout Print Template Balance Owed
Kyle Huckins [Fri, 27 Oct 2017 16:24:04 +0000 (16:24 +0000)]
LP#1708488 Checkout Print Template Balance Owed

Add Patron's money summary to Circulations in Checkout print template.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Terra McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoDocs: adding introduction section to webclient offline docs
Jane Sandberg [Thu, 9 Nov 2017 16:20:24 +0000 (10:20 -0600)]
Docs: adding introduction section to webclient offline docs

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
7 years agoLP#1731281: stamp database update
Galen Charlton [Thu, 9 Nov 2017 16:17:44 +0000 (11:17 -0500)]
LP#1731281: stamp database update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoDocs: adding offline circ webclient docs to circ manual
Jane Sandberg [Thu, 9 Nov 2017 16:16:09 +0000 (10:16 -0600)]
Docs: adding offline circ webclient docs to circ manual

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
7 years agoLP1731281: Remove Deleted Items From acvac Table
Jason Boyer [Thu, 9 Nov 2017 14:55:42 +0000 (09:55 -0500)]
LP1731281: Remove Deleted Items From acvac Table

The script that created the acvac table accidentally
included entries for deleted items which leads to confusion
when titles the library no longer owns are displayed as
available again, even though no copies appear on the record
detail page. This upgrade script removes any that are left
there.

Signed-off-by: Jason Boyer <JBoyer@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1724223: stamp schema update
Galen Charlton [Thu, 9 Nov 2017 15:44:17 +0000 (10:44 -0500)]
LP#1724223: stamp schema update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1724223: tweak upgrade script
Galen Charlton [Thu, 9 Nov 2017 15:37:52 +0000 (10:37 -0500)]
LP#1724223: tweak upgrade script

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP1724223: Fix inherited FKEY triggers
Jason Boyer [Wed, 18 Oct 2017 03:10:46 +0000 (22:10 -0500)]
LP1724223: Fix inherited FKEY triggers

When running these triggers on TG_OP=DELETE they
always fail and prevent the delete. Skipping the
triggers on DELETE allows things to continue as
usual.

To test
-------
Verify that after applying the patch that you can remove
notes and copy tags from copies and copies from buckets
and Vandely import queues.

Signed-off-by: Jason Boyer <JBoyer@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1724915 Webstaff auth timeout works w/ multiple tabs
Bill Erickson [Thu, 19 Oct 2017 18:46:01 +0000 (14:46 -0400)]
LP#1724915 Webstaff auth timeout works w/ multiple tabs

Adds a new API parameter to open-ils.session.retrieve which allows the
session to be fetched without extending the auth session timeout.

Teach the browser client to use the new API.

Teach the browser client to notify all webstaff tabs when a logout event
has occurred, so every tab can immediately log out.

To test
-------
[0] Apply the patch.
[1] Log in the web staff client, then open a new window/tab
    and navigate to the web staff client.
[2] Log out of the web staff client in one window. Verify that
    the second window automatically refreshes and goes to the
    login page.
[3] Set a low staff idle timeout (optional).
[4] Repeat step 1, then wait for the timeout. Verify that the
    staff client is logged out in both windows.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoLP#1728677: add release notes entry
Galen Charlton [Thu, 9 Nov 2017 14:46:35 +0000 (09:46 -0500)]
LP#1728677: add release notes entry

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1728677 - Add survey data to concerto test dataset.
Chris Sharp [Mon, 30 Oct 2017 16:29:20 +0000 (12:29 -0400)]
LP#1728677 - Add survey data to concerto test dataset.

To more closely approximate a realistic test environment,
this branch adds data to the concerto test dataset.  Most users
are given a randomized response to a simple 3-question survey.

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1717351: tweak release notes
Galen Charlton [Wed, 8 Nov 2017 22:21:08 +0000 (17:21 -0500)]
LP#1717351: tweak release notes

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoAdded Release Notes
Sam Link [Tue, 7 Nov 2017 13:27:18 +0000 (08:27 -0500)]
Added Release Notes

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoWeb Client: Make Patron Email Clickable
Sam Link [Fri, 6 Oct 2017 15:40:47 +0000 (11:40 -0400)]
Web Client: Make Patron Email Clickable

The patch is twofold. First, "mailto" has been added to
$compileProvider.aHrefSanitizationWhitelist() throughout the project.
Second, the patron email in the patron summary has been wrapped in an
anchor with ng-href="mailto:{{patron().emaio()}}" to enable the desired
functionality.

Signed-off-by: Sam Link <slink@columbiacountyga.gov>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoDocs: Improve warning format in ebook api section
Remington Steed [Wed, 8 Nov 2017 21:39:27 +0000 (16:39 -0500)]
Docs: Improve warning format in ebook api section

Signed-off-by: Remington Steed <rjs7@calvin.edu>
7 years agoLP#1527731: Allow specified join order
Mike Rylander [Wed, 18 Oct 2017 20:52:31 +0000 (16:52 -0400)]
LP#1527731: Allow specified join order

With this commit we now support user-defined join order in cstore and friends.
Previously, because the join structure of oils_sql beyond the specification of
a single table was only allowed to be represented as a JSON object, it was
subject to potential hash key reordering -- thanks, Perl.  By supporting an
intervening array layer, one can now specify the exact join order of the
tables in a join tree.

For example, given the following JSON object passing through a modern Perl 5
interpreter as a nested hash:

{select :   {acp:['id'],
             acn:['record'],
             acpl:['name']
            },
  from  :   {acp:
                {acn:{filter:{record:12345}},
                 acpl:null
                }
            }
}

the FROM clause of the query may end up as:

  FROM  acp
        JOIN acn ON (acp.call_number = acn.id AND acn.record = 12345)
        JOIN acpl ON (acp.location = acpl.id)

Or as:

  FROM  acp
        JOIN acpl ON (acp.location = acpl.id)
        JOIN acn ON (acp.call_number = acn.id AND acn.record = 12345)

In some situations, the join order will matter either to the semantics of the
query plan, or to its performance.  The following example of the newly
supported syntax illustrates how to specify join order:

{select :   {acp:['id'],
             acn:['record'],
             acpl:['name']
            },
  from  :   {acp:[
                {acn:{filter:{record:12345}}},
                 'acpl'
            ]}
}

And the only FROM clause the can be generated is:

  FROM  acp
        JOIN acn ON (acp.call_number = acn.id AND acn.record = 12345)
        JOIN acpl ON (acp.location = acpl.id)

Why is this important
---------------------
While Postgres' planner is very smart, a join tree with many tables may create
a plan search space that is simply too large to be tested effeciently.  In such
cases, Postgres will do its best to find a good plan for the query using its
GEQO algorithm.  Often, a DBA or developer has enough understanding of the
expected relative data sizes involved to give Postgres a leg up by specifying
a join order that improves the planner's chances of generating an optimal plan.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1646210 Add CN Affixes to Grids WIP
Kyle Huckins [Tue, 17 Oct 2017 20:11:25 +0000 (20:11 +0000)]
LP#1646210 Add CN Affixes to Grids WIP

Adds Call Number Suffixes and Prefixes to the following grids:
- Copy Buckets
- Pending Copy Buckets
- Checkin/Capture Holds
- Patron Holds
- Patron Checkout
- Patron Items Out
- Patron Bill History
- Holds Shelf
- Renew Items
- In-House Uses
- Bib Record View Holds
- Patron Bill History
- Transit List
- Copy Editor

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/src/templates/staff/cat/bucket/copy/t_pending.tt2
modified:   Open-ILS/src/templates/staff/cat/bucket/copy/t_view.tt2
modified:   Open-ILS/src/templates/staff/cat/catalog/t_holds.tt2
modified:   Open-ILS/src/templates/staff/cat/volcopy/t_edit.tt2
modified:   Open-ILS/src/templates/staff/circ/checkin/t_checkin_table.tt2
modified:   Open-ILS/src/templates/staff/circ/holds/t_shelf_list.tt2
modified:   Open-ILS/src/templates/staff/circ/in_house_use/index.tt2
modified:   Open-ILS/src/templates/staff/circ/patron/t_bill_history_xacts.tt2
modified:   Open-ILS/src/templates/staff/circ/patron/t_checkout.tt2
modified:   Open-ILS/src/templates/staff/circ/patron/t_holds_list.tt2
modified:   Open-ILS/src/templates/staff/circ/patron/t_items_out.tt2
modified:   Open-ILS/src/templates/staff/circ/renew/t_renew.tt2
modified:   Open-ILS/src/templates/staff/circ/transits/t_list.tt2
modified:   Open-ILS/web/js/ui/default/staff/circ/in_house_use/app.js
modified:   Open-ILS/web/js/ui/default/staff/circ/patron/items_out.js
modified:   Open-ILS/web/js/ui/default/staff/circ/services/circ.js
modified:   Open-ILS/web/js/ui/default/staff/circ/services/holds.js
modified:   Open-ILS/web/js/ui/default/staff/circ/transits/list.js

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
7 years agoLP#1672435: Make BR4's sample theses copy location holdable
Kathy Lussier [Mon, 25 Sep 2017 14:29:56 +0000 (10:29 -0400)]
LP#1672435: Make BR4's sample theses copy location holdable

All of the part copies in the sample dataset live in a non-holdable
copy location, usually BR4's Theses location. This commit makes
that copy location holdable so that we can better test part holds
out of the box.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
7 years agoLP#1704396: reset the facet alarm timer
Mike Rylander [Wed, 1 Nov 2017 22:22:21 +0000 (18:22 -0400)]
LP#1704396: reset the facet alarm timer

When using alarm() one must reset the timer via alarm(0) or incur the wrath
of the spurious signal.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
7 years agoDocs: Improve adoc list syntax in badges section
Remington Steed [Wed, 8 Nov 2017 16:57:16 +0000 (11:57 -0500)]
Docs: Improve adoc list syntax in badges section

This commit fixes some minor formatting issues with the numbered list,
and improves readability of the AsciiDoc file.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
7 years agoDocs: Fix two AsciiDoc syntax warnings
Remington Steed [Wed, 8 Nov 2017 16:56:42 +0000 (11:56 -0500)]
Docs: Fix two AsciiDoc syntax warnings

A recent commit removed a docs file and integrated the content into the
3.0 release notes and the ebook_api.adoc file.  This commit cleans up
two small problems left over from that commit:

  - Remove the reference to the deleted file
  - Fix the warning block syntax in ebook_api.adoc

Signed-off-by: Remington Steed <rjs7@calvin.edu>
7 years agoLP#1724885: (follow-up) fix whitespace
Galen Charlton [Wed, 8 Nov 2017 16:09:21 +0000 (11:09 -0500)]
LP#1724885: (follow-up) fix whitespace

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1724885 - Alert when TCN value already exists on bib import.
Chris Sharp [Tue, 7 Nov 2017 20:41:26 +0000 (15:41 -0500)]
LP#1724885 - Alert when TCN value already exists on bib import.

To test
-------
[1] Ensure that the global flag 'cat.bib.use_id_for_tcn' is off.
[2] Import a record via Z39.50 in the web staff client.
[3] Repeat the Z39.50 search and attempt to import the record again.
    Note that the import will fail silently (with error messages
    in the browser console).
[4] Apply the patch and repeat step 3. This time, an alert modal
    will appear pointing out that the TCN is already in use.

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1721636: UpUp needs to know about i18n.js for offline mode
Mike Rylander [Thu, 5 Oct 2017 20:25:40 +0000 (16:25 -0400)]
LP#1721636: UpUp needs to know about i18n.js for offline mode

Any resource that is loaded globally, which mostly means stuff in base.tt2
and base_js.tt2, needs to be added to the UpUp resource list so that offline
mode will function in the face of a cache clearing event.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1721304: POT sync
Galen Charlton [Wed, 8 Nov 2017 15:17:15 +0000 (10:17 -0500)]
LP#1721304: POT sync

Done because, per LP#1686832, changes to strings in fm_IDL.xml
require one lest users of translations experience breakage.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1721304 - Add labels for config.standing_penalty in IDL xml
Cesar Velez [Thu, 5 Oct 2017 16:20:29 +0000 (17:20 +0100)]
LP#1721304 - Add labels for config.standing_penalty in IDL xml

This will fix ugly grid headers in web staff client on the
Patron | Message page.

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP1724725: Handle ident_type2 in Web Staff User Editor
Jason Boyer [Thu, 19 Oct 2017 03:05:05 +0000 (22:05 -0500)]
LP1724725: Handle ident_type2 in Web Staff User Editor

While it was fairly harmless to not be able to set an ident_type2
value in the webstaff editor, the way things worked out if a user
had one set from the XUL client or direct manipulation an attempt
to save such a user would crash the cstore backend.

To test
-------
[1] Use the patron editor to edit a patron that has a value set
    for ident_value2. Save a change, but note that nothing is
    displayed and that eventually an open-ils.cstore error is
    reported in the browser console.
[2] Apply the patch and repeat step 1. This time, the patron
    editor will display the secondary identification type field
    and allow you to save changes to the record.

Signed-off-by: Jason Boyer <JBoyer@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1346381: Release notes for new shelving location limiter behavior
Kathy Lussier [Tue, 7 Nov 2017 21:41:02 +0000 (16:41 -0500)]
LP#1346381: Release notes for new shelving location limiter behavior

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
7 years agoLP#1346381: remove searching child org units, requirement to have volumes and adds...
Rogan Hamby [Mon, 12 Jun 2017 17:41:02 +0000 (13:41 -0400)]
LP#1346381: remove searching child org units, requirement to have volumes and adds existing org unit

Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
7 years agoLP#1724246: stamp schema update
Galen Charlton [Tue, 7 Nov 2017 22:01:02 +0000 (17:01 -0500)]
LP#1724246: stamp schema update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1724246: sync schema update script
Galen Charlton [Tue, 7 Nov 2017 21:29:48 +0000 (16:29 -0500)]
LP#1724246: sync schema update script

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP1724246: asset.cache_copy_visibility fix
Jason Boyer [Wed, 18 Oct 2017 03:30:11 +0000 (22:30 -0500)]
LP1724246: asset.cache_copy_visibility fix

When removing peer bib copy maps the visibility
cache wasn't updated correctly. This readjusts
the cache trigger to correct that.

Signed-off-by: Jason Boyer <JBoyer@library.in.gov>
Signed-off-by: Mike Rylander <miker@esilibrary.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1723977: Move no-LURIs test to be a peer of no-copies test
Mike Rylander [Tue, 7 Nov 2017 16:09:07 +0000 (11:09 -0500)]
LP#1723977: Move no-LURIs test to be a peer of no-copies test

The correct place to test the no-LURIs condition is as a peer to the
no-copies test, when searching in staff mode.  We therefore move that
test with this commit.

In addition, the bib attribute vector may be null, in the case of a
record with no bib source or LURI.  When testing emptiness we need to
ask if the field IS NULL rather than just testing its contents.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Boyer <JBoyer@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1730692: fix two references to asset.copy_vis_attr_cache
blake [Tue, 7 Nov 2017 16:14:32 +0000 (10:14 -0600)]
LP#1730692: fix two references to asset.copy_vis_attr_cache

Corrected the table references in metabib.pm and site_generator.

To test
-------
[1] Apply the patch.
[2] Verify that sitemap_generator no longer crashes.
[3] Verify that open-ils.storage.ordered.metabib.metarecord.records can be
    called without crashing.

Signed-off-by: blake <blake@mobiusconsortium.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1145213: add schema update
Galen Charlton [Tue, 7 Nov 2017 20:41:59 +0000 (15:41 -0500)]
LP#1145213: add schema update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1145213: fix some typos
Galen Charlton [Tue, 7 Nov 2017 20:21:57 +0000 (15:21 -0500)]
LP#1145213: fix some typos

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1145213: add pgTAP test
Cesar Velez [Fri, 1 Sep 2017 14:29:36 +0000 (10:29 -0400)]
LP#1145213: add pgTAP test

This tests the changes to the asset.merge_record_assets() function.

Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1145213: improvements to record merge
Rogan Hamby [Wed, 9 Aug 2017 12:50:41 +0000 (08:50 -0400)]
LP#1145213: improvements to record merge

This patch checks for suffix and prefix of call number before merging
assets and ensures that unused call number records are marked
deleted.

To test:

[0] Apply the patch.
[1] Attempt a record merge where each record has a volumes with the
    same call number label and owning library but different
    affixes. Verify that the volumes and their associated copies
    are not merged onto the same volume..
[2] Attempt a merge with records having matching volumes. Verify
    that the copies are moved to one volume and that the other is
    marked deleted.

Signed-off-by: Rogan Hamby <rhamby@equinoxinitiative.org>
Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1730721: future proof build-db.sh (followup)
Ben Shum [Tue, 7 Nov 2017 20:09:47 +0000 (15:09 -0500)]
LP#1730721: future proof build-db.sh (followup)

For PostgreSQL 10+, the versioning scheme has changed. We only want
the top number for those versions and up.

So, grab only the first two numbers for the variable...

9.6.5 = 96
10.0 = 10, etc.

Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Jason Stephenson <jason@sigio.com>
7 years agoLP#1671635: escape some values to avoid XSS
Galen Charlton [Tue, 7 Nov 2017 19:33:16 +0000 (14:33 -0500)]
LP#1671635: escape some values to avoid XSS

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1671635: Maintain search parameters throughout place hold process
Kathy Lussier [Fri, 22 Sep 2017 19:18:12 +0000 (15:18 -0400)]
LP#1671635: Maintain search parameters throughout place hold process

Add hidden fields to the Place Hold form for the search query, type
and locg fields so that they will appear correctly in the search bar
on the holds confirmation page. This commit also keeps the query
parameter in the URL after clicking the Place Hold link from the search
results page.

Test Plan:
Log into the public catalog and perform a search that is limited to a library
that differs from the user's preferred search library and using a search type
that is not keyword (e.g. title or author). Place a hold on any title from
either the search results or record page. After submitting the form, look
at the search parameters in the search bar on the hold confirmation page.

Pre-patch, the query terms will not appear, the search type will revert back
to the default of keyword, and the search library will be the user's preferred
search library.

Post-patch, the query parameters will be maintained in the search bar.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1730721: future proof build-db.sh
Ben Shum [Tue, 7 Nov 2017 18:41:56 +0000 (13:41 -0500)]
LP#1730721: future proof build-db.sh

Use the same logic we've got in eg_db_config for build-db.sh to determine
PostgreSQL version installed on server.

Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Jason Stephenson <jason@sigio.com>
7 years agoLP#1706147: handle multiple matches on patron barcode completion in web client
Jeff Davis [Fri, 6 Oct 2017 18:15:05 +0000 (11:15 -0700)]
LP#1706147: handle multiple matches on patron barcode completion in web client

To test:

1. Add a barcode completion rule for BR1, applying to users and set to
   active, where "BR1" is the prefix.

2. Create a user with barcode "BR100001" and home library BR1.

3. Create another user with barcode "00001".

4. Login to the web client with BR1 as your working location. Go to
   "Check Out Item" and enter barcode "00001". EG will retrieve one of
   the two accounts you created; it ought to present a dialog that
   allows you to choose between BR00001 and 00001 (or none of the above).

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1728122 Webstaff survey display avoids deep fleshing
Bill Erickson [Mon, 30 Oct 2017 15:36:29 +0000 (11:36 -0400)]
LP#1728122 Webstaff survey display avoids deep fleshing

Avoid collecting survey/question/answer data via deep pcrud fleshing.
Opt instead to organize the data locally using the values fleshed
directly on the response object.

Additional fixes included:

1. Avoid displaying survey responses for out-of-scope surveys.
2. Format survey response dates using the configured date format instead
   of display a bare ISO date.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1722899 - Fix bug due undefined pay note value
Cesar Velez [Thu, 2 Nov 2017 19:39:38 +0000 (15:39 -0400)]
LP#1722899 - Fix bug due undefined pay note value

Prevent error due to null or undefined pay_note.value

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1722899 - Fix issues with Patron Bill payment annotation dialog/modal
Cesar Velez [Fri, 13 Oct 2017 17:23:22 +0000 (13:23 -0400)]
LP#1722899 - Fix issues with Patron Bill payment annotation dialog/modal

The annotation modal's result was not actually being returned, so I fixed
 ui.js's egPromptDialog.

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1679246 - add display-none css rule to eg-grid-field
Cesar Velez [Fri, 20 Oct 2017 20:57:23 +0000 (16:57 -0400)]
LP#1679246 - add display-none css rule to eg-grid-field

This will fix the extraneous text created from any
eg-grid-field that has non IDL paths or text data.
Ex: a virtual/computed column, ie {{usr}}@{{org}}

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1679246: (follow-up) restore local whitespace consistency
Galen Charlton [Tue, 7 Nov 2017 15:59:09 +0000 (10:59 -0500)]
LP#1679246: (follow-up) restore local whitespace consistency

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1679246: Patron billing add staff user
Skye Howard [Tue, 10 Oct 2017 20:58:45 +0000 (20:58 +0000)]
LP#1679246: Patron billing add staff user

Added column to match XUL client of 'Accepting User' to display
username(barcode) @ home org unit

Signed-off-by: Alex Cautley <acautley@catalyte.io>
modified:   Open-ILS/examples/fm_IDL.xml
modified:   Open-ILS/src/templates/staff/circ/patron/t_xact_details.tt2

Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoDocs: adding security chapter from Evergreen in Action
Jane Sandberg [Sun, 5 Nov 2017 13:38:32 +0000 (05:38 -0800)]
Docs: adding security chapter from Evergreen in Action

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
7 years agoDocs: front matter about web client in every relevant manual
Jane Sandberg [Sun, 5 Nov 2017 13:18:19 +0000 (05:18 -0800)]
Docs: front matter about web client in every relevant manual

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
7 years agoDocs: adding web client login instructions to cataloging manual
Jane Sandberg [Sun, 5 Nov 2017 12:53:23 +0000 (04:53 -0800)]
Docs: adding web client login instructions to cataloging manual

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
7 years agoDocs: making public catalog docs more modular
Jane Sandberg [Sun, 5 Nov 2017 12:47:23 +0000 (04:47 -0800)]
Docs: making public catalog docs more modular

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
7 years agoDocs: documenting the web client copy templates
Jane Sandberg [Sun, 5 Nov 2017 12:07:52 +0000 (04:07 -0800)]
Docs: documenting the web client copy templates

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
7 years agoDocs: mass replacing Admin menu with Administration menu
Jane Sandberg [Sun, 5 Nov 2017 11:41:39 +0000 (03:41 -0800)]
Docs: mass replacing Admin menu with Administration menu

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
7 years agoDocs: updating booking admin for the Web client
Jane Sandberg [Sun, 5 Nov 2017 10:29:52 +0000 (02:29 -0800)]
Docs: updating booking admin for the Web client

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
7 years agoDocs: Fixing menu refs on booking docs
Jane Sandberg [Thu, 2 Nov 2017 23:34:31 +0000 (16:34 -0700)]
Docs: Fixing menu refs on booking docs

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
7 years agoDocs: replacing Admin menu with Administration menu
Jane Sandberg [Thu, 2 Nov 2017 23:04:28 +0000 (16:04 -0700)]
Docs: replacing Admin menu with Administration menu

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
7 years agodocs: LP1717583 add details about aged circulation
Jeanette Lundgren [Thu, 26 Oct 2017 18:09:40 +0000 (14:09 -0400)]
docs: LP1717583 add details about aged circulation

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
7 years agoDocs: Fix AsciiDoc header syntax bug
Remington Steed [Thu, 26 Oct 2017 18:37:50 +0000 (14:37 -0400)]
Docs: Fix AsciiDoc header syntax bug

This docs section header was renamed, but the underline needs to be
changed to match.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
7 years agoDocs: Remove duplicate lines from root.adoc
Remington Steed [Wed, 25 Oct 2017 14:53:44 +0000 (10:53 -0400)]
Docs: Remove duplicate lines from root.adoc

In the previous commit to root.adoc (7ecad6eb) a chunk of lines were
accidentally duplicated. This commit removes the duplicate lines. I
confirmed that this change allows the PDF to build successfully.

Signed-off-by: Remington Steed <rjs7@calvin.edu>