working/Evergreen.git
7 years agoLP#1705478: Marc_export should include call number prefix and suffix
Martha Driscoll [Thu, 20 Jul 2017 18:19:56 +0000 (14:19 -0400)]
LP#1705478: Marc_export should include call number prefix and suffix

This commit adds the call number prefix and suffix, when present,
to the 852 $k and $m respectively when the --items option is used
in marc_export.

Signed-off-by: Martha Driscoll <driscoll@noblenet.org>
Signed-off-by: Dan Pearl <dpearl@cwmars.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1189989: (follow-up) normalize capitalization of "onclick"
Galen Charlton [Wed, 2 Aug 2017 15:55:12 +0000 (11:55 -0400)]
LP#1189989: (follow-up) normalize capitalization of "onclick"

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1189989: (follow-up) ignore invalid thaw date
Galen Charlton [Wed, 2 Aug 2017 15:49:08 +0000 (11:49 -0400)]
LP#1189989: (follow-up) ignore invalid thaw date

This patch ensures that the specified thaw date is valid,
as otherwise specifying a thaw date of "13/08/2017" (when,
at present, only dates of the form mm/dd/yyyy are accepted)
would result in an Apache internal server error.

If an invalid date is supplied, the thaw date is ignored, meaning
that the hold request will be placed as suspended but will not
automatically reactivate.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1189989: Release notes entry for suspend option when placing hold
Kathy Lussier [Tue, 1 Aug 2017 20:48:19 +0000 (16:48 -0400)]
LP#1189989: Release notes entry for suspend option when placing hold

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP 1189989: Add suspend option when placing hold
Jason Stephenson [Fri, 21 Jul 2017 16:47:14 +0000 (12:47 -0400)]
LP 1189989: Add suspend option when placing hold

This commit adds some bells and whistles to the basic functionality:

1. Adds two new styles in style.css.tt2 for toggled blocks and inline
text.  These styles allow text with id attributes beginnging with
certain strings to be normally hidden and then shown when they are the
target of an active anchor.  Only the block form is currently used,
but the inline text version may prove useful in the near future.

2. Moves the "Suspend this hold?" language above the checkbox and adds
a variant to make it clear that all of the holds will be suspended
when multiple holds are placed.

3. Adds the question mark graphic with mouseover help text indicating
that a suspended hold will not be fulfilled until it has been
activated.

4. Adds a "Set activation date" anchor to toggle the appearance of the
text input for the optional thaw date.

5. Adds a script block with a JavaScript function to toggle the
appearance of the text input for the optional thaw date and to check
the suspend hold check box when first toggled.  This function returns
false to prohibit the href of the anchor from firing and toggling the
appearance via CSS.  If JavaScript is disabled, the input's appearance
will be toggled via CSS, but the checkbox will not be checked
automatically.

6. Adds language to the place hold results page to indicate if the
hold is suspended and adds the reactive date if supplied.

7. Modifies the backend holds code to not set the expire time on a
hold if it is suspended.  This is a logical extension of code added
for Lp bug #1076399: Activating an expired hold cancels the hold.

PLEASE NOTE: I would very much like to keep this branch in three
commits because the first commit is Bill Ott's initial implementation
from 2013.  The second commit is a fix to Bill's work required to make
it work with modern ttopac.  This third commit overs the expansion of
the functionality to meet MassLNC requirements.  I think it would
behoove us to keep these three pieces of work in distinct commits.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP 1189989: Add suspend option when placing hold
Jason Stephenson [Sun, 23 Apr 2017 19:54:12 +0000 (15:54 -0400)]
LP 1189989: Add suspend option when placing hold

Fix the Apache Internal Server error caused by the previous patch.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP 1189989: Add suspend option when placing hold
Bill Ott [Tue, 20 Aug 2013 15:19:27 +0000 (11:19 -0400)]
LP 1189989: Add suspend option when placing hold

Return of an option from JSPAC, the ability to immediately suspend a
hold when it's placed.

TODO: As noted in the code for editing a hold, a calendar selection
would be preferred to requiring users to enter a valid date manually.

This commit was a patch submitted by Bill Ott to Launchpad in August
2013.  Jason Stephenson applied the patch on April 22, 2017 and
resolved conflicts caused by the addition of a metarecords hold
feature in the TPAC.  The revised patch was committed with the
original author and commit timestamp.

Signed-off-by: Bill Ott <bott@grpl.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1707549: Remove Perl 5.24+ syntax restriction
Mike Rylander [Tue, 1 Aug 2017 16:34:11 +0000 (12:34 -0400)]
LP#1707549: Remove Perl 5.24+ syntax restriction

Quoth the Perl docs: "An experimental feature added in Perl 5.14 allowed each,
keys, push, pop, shift, splice, unshift, and values to be called with a scalar
argument. This experiment is considered unsuccessful, and has been removed.
The postderef feature may meet your needs better."

The specific instance here was probably just a typo or thinko the did the
right thing on Perls "of a certain age" ... so, we fix that here, now.

To test:

[1] Upon applying the patch, verify that Perl 5.24+ will successfully
    compile metabib.pm, that the open-ils.storage service will
    start up, and that catalog searches continue to work.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1706148 - Hide "Hold is behind Circ Desk" checkbox in XUL patron registration.
Josh Stompro [Mon, 24 Jul 2017 18:51:55 +0000 (13:51 -0500)]
LP#1706148 - Hide "Hold is behind Circ Desk" checkbox in XUL patron registration.

When the library setting for "Behind Desk Pickup Supported" is not enabled then
the checkbox for "Hold is behind Circ Desk" should be hidden.

Test Plan - before fix:
  1. Check to make sure that the "Behind Desk Pickup Supported" library setting is
     unset or false.
  2. Open the patron registration screen in the XUL staff client and see that the
     user settings checkbox for "Hold is behind Circ Desk" exists.

After Fix Applied:
  1. Check to make sure that the "Behind Desk Pickup Supported" library setting is
     unset or false.
  2. Open the patron registration screen in the XUL staff client and see that the
     user settings checkbox for "Hold is behind Circ Desk" no longer is shown.
  3. Change the library setting in question to True.
  4. Reload/reopen the patron registration screen and see that the checkbox now
     is visible.

Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Dan Pearl <dpearl@cwmars.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoRevert "LP#1635737 Use new OpenSRF interval_to_seconds() context"
Mike Rylander [Mon, 31 Jul 2017 19:15:57 +0000 (15:15 -0400)]
Revert "LP#1635737 Use new OpenSRF interval_to_seconds() context"

This reverts commit 04a101312b0a42d34108c8d78997a3960241363a.

7 years agoLP#1635737 Use new OpenSRF interval_to_seconds() context
Dan Wells [Fri, 21 Jul 2017 18:28:16 +0000 (14:28 -0400)]
LP#1635737 Use new OpenSRF interval_to_seconds() context

Use the optional context for interval_to_seconds() to account for the
variable length of duration components.  For example, "1 day" may be
shorter or longer than 24 hours during a time change event, "1 month"
may be shorter or longer depending on which month it is currently, etc.

Also, remove some timestamp munging, as that happens within
interval_to_seconds() already.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoforward port 2.12.3-2.12.4 schema update
Galen Charlton [Fri, 28 Jul 2017 19:29:00 +0000 (15:29 -0400)]
forward port 2.12.3-2.12.4 schema update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoForward port 2.11.7 upgrade script
Dan Wells [Thu, 27 Jul 2017 21:20:52 +0000 (17:20 -0400)]
Forward port 2.11.7 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
7 years agoDocs: 2.12.4 Release Notes
Kathy Lussier [Thu, 27 Jul 2017 03:33:11 +0000 (23:33 -0400)]
Docs: 2.12.4 Release Notes

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
7 years agoDocs: Release notes for 2.11.7
Kathy Lussier [Wed, 26 Jul 2017 21:21:00 +0000 (17:21 -0400)]
Docs: Release notes for 2.11.7

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
7 years agoLP#1670448: Rearrange space for bib record action buttons
Kathy Lussier [Mon, 24 Jul 2017 22:11:41 +0000 (18:11 -0400)]
LP#1670448: Rearrange space for bib record action buttons

The addition of the view/place order button pushed other action buttons to a
2nd row. We also need to make room for the forthcoming serials button. This
commit 1) changes the div classes for the navigation buttons and action buttons
so that it is now a 50/50 split of screen space and 2) moves some action items
into a 'Other Actions' menu.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP1670448 - Move View/Place Orders to Record Summary
Christine Morgan [Mon, 3 Jul 2017 20:08:11 +0000 (16:08 -0400)]
LP1670448 - Move View/Place Orders to Record Summary

Removes View/Place Orders option from menu in Holdings View and adds a View/Place Orders button to Record Summary

Signed-off-by: Christine Morgan <cmorgan@noblenet.org>
Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
7 years agoLP#1695062 - webstaff Make non-freetext required stat cats actually required
Cesar Velez [Fri, 14 Jul 2017 17:25:44 +0000 (13:25 -0400)]
LP#1695062 - webstaff Make non-freetext required stat cats actually required

In the Patron registration form this custom drop down needed to
have an ng-class attribute with the proper
object expression in order to do add class ng-invalid if the
stat cat was required and not there.

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>

Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
7 years agoLP#1691860: Release notes entry for nosound audio file
Kathy Lussier [Mon, 24 Jul 2017 18:12:26 +0000 (14:12 -0400)]
LP#1691860: Release notes entry for nosound audio file

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
7 years agoLP#1691860 Webstaff audio alert nosound.wav
Bill Erickson [Thu, 18 May 2017 21:08:37 +0000 (17:08 -0400)]
LP#1691860 Webstaff audio alert nosound.wav

Adds a small nosound.wav file which may be used by administrators to
silence a specific alert for all users on the server.

To test:

[1] mkdir -p /openils/var/web/audio/notifications/success/patron/
[2] cd /openils/var/web/audio/notifications/success/patron/
[3] ln -s ../../nosound.wav by_search.wav
[4] Perform a patron search in the browser client and confirm no sound
    is played upon successful search.

If patron searches have recently been performed, step 4 may require a
cache clear, a different tab, browser restart, eye of newt.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
7 years agoLP1702911: Correct Barcode State in Add Item
Jason Boyer [Fri, 7 Jul 2017 14:24:35 +0000 (10:24 -0400)]
LP1702911: Correct Barcode State in Add Item

When adding an item from the MARC editor the barcode
state was incorrect because the empty_barcode flag
is set on the copy and then not changed after
assigning a barcode. At that point the only way to
alter the flag is modifying the barcode in the UI,
which the user likely would not think to do. This
causes the Save buttons to remain disabled.

To test pre patch:
Open a record in the MARC editor, check Add Item
Add a call number label and barcode above, click Save
In the vol/copy editor, try as you might, you can't save. :(

To test post-patch:
Open a record in the MARC editor, check Add Item
Add a call number label and barcode above, click Save
In the vol/copy editor, the Save buttons will already be enabled
(barring required stat cats, etc.)

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
7 years agoLP#1691264 - WebStaff Add stickiness to Patron Search Org-level selector
Cesar Velez [Wed, 28 Jun 2017 21:52:22 +0000 (17:52 -0400)]
LP#1691264 - WebStaff Add stickiness to Patron Search Org-level selector

When searching for users within the patron app, the org-unit selector
dropdown would stay cached to the last used value, but reloading the
PAtron sarch view would reset that. This adds stick-setting attribute
to that custom dropdown and LocalStorage via key eg.circ.patron.search.ou

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
7 years agoLP#1312837 - Item Status - Alternate View - Holds/Transit tab: Transit and Hold
Josh Stompro [Mon, 30 Jan 2017 14:21:40 +0000 (08:21 -0600)]
LP#1312837 - Item Status - Alternate View - Holds/Transit tab: Transit and Hold
 information does not refresh

When switching between copies that have different transit and hold information,
the data in the hold/transit tab doesn't get cleared when there isn't a new hold
or transit to clear it.

Test Plan:

Acquire the barcodes for 3 copies, one that is available, on that is in transit
and one that is captured for a hold.

Before Change:
  1. Open item status alternate view and switch to hold/copy tab.  Note that the
     labels default to saying that the item is in transit and captured for a
     hold before any barcodes are scanned.
  2. Enter the available item and note that the labels changed to not in transit
     , not captured.
  3. Scan in the In Transit for Captured item and note that the labels don't
     change when they should.
  4. Scan in the available item and note that the hold or transit data isn't
     cleared.

After Change:
  1. Enter the barcodes for the 3 copies with different statuses and note that
     the Holds/Transit information now updates correctly.

Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
7 years agoLP#1683555 - Bad barcode image missing from dialog.
Michele Morgan [Mon, 17 Jul 2017 19:36:06 +0000 (15:36 -0400)]
LP#1683555 - Bad barcode image missing from dialog.

Copies the existing bad_barcode.png image to web/images. Also tweaks
wording and style of the dialog box for clarity.

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1673857: stamp schema update
Galen Charlton [Mon, 24 Jul 2017 15:32:10 +0000 (11:32 -0400)]
LP#1673857: stamp schema update

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1673857: Disable browser autocomplete for tag entry
Josh Stompro [Mon, 17 Jul 2017 16:35:24 +0000 (11:35 -0500)]
LP#1673857: Disable browser autocomplete for tag entry

Adds an autocomplete="off" to the input field to stop browsers
from trying to fill in values.  When the browser fills in values
for tags it can prevent the typeahead feature from being used
easily.

Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1673857: release notes
Galen Charlton [Thu, 11 May 2017 16:46:38 +0000 (12:46 -0400)]
LP#1673857: release notes

Overall test plan
-----------------
[1] In Server Admnistration -> Copy Tag Types, test creating
    and modifying copy tag types.
[2] In Server Admnistration -> Copy Tags, test creating
    and modifying copy tags.
[3] In the volume/copy editor, test use of the 'Copy Tags'
    button to link or unlink tags from copies.
[4] In the volume/copy editor, test use of the 'Copy Tags'
    button to create and link new tags on the fly.
[5] In the copy buckets interface, test use of the 'Apply Tags'
    grid action to link tags to copies.
[6] In the catalog, test the copy_tag(type, search) and
    copy_tag(*, search) filters. Verify that tag visiblity
    (as controlled by the "public" flag on a copy tag) is
    respected.
[7] In the catalog, test the display of copy tags in
    the copy table on the record summary page.
[8] Test the opac.search.enable_bookplate_search library setting
    and verify that it causes a 'Digital Bookplates' search option
    to be added.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1673857: some test cases
Galen Charlton [Thu, 11 May 2017 17:03:16 +0000 (13:03 -0400)]
LP#1673857: some test cases

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1673857: interface for applying tags from copy buckets
Galen Charlton [Fri, 31 Mar 2017 22:31:52 +0000 (18:31 -0400)]
LP#1673857: interface for applying tags from copy buckets

The copy buckets interface now includes an 'Apply Tags'
action that can be used to map tags to a set of selected
copies. Note that interface cannot be used to remove
tag mappings; the volume/copy editor is needed to do that.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1673857: add ability to set copy tags in volume/copy editor
Galen Charlton [Thu, 11 May 2017 15:29:25 +0000 (11:29 -0400)]
LP#1673857: add ability to set copy tags in volume/copy editor

The copy editor now has a 'Copy Tags' button that can be used
to assign or remove tags from a copy. A typeahead widget is
used to allow the user to select an existing tag, but users can
also use this interface to create an entirely new tag on the fly.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1673857: admin interfaces for copy tag types and copy tags
Galen Charlton [Thu, 30 Mar 2017 21:08:19 +0000 (17:08 -0400)]
LP#1673857: admin interfaces for copy tag types and copy tags

This patch adds standard administration interfaces to manage
copy tag types (Server Administration) and copy tags (Local
Administration)

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1673857: teach egFmRecordEditor how to create non-sequence-controlled ID values
Galen Charlton [Mon, 10 Apr 2017 18:33:34 +0000 (18:33 +0000)]
LP#1673857: teach egFmRecordEditor how to create non-sequence-controlled ID values

Since config.copy_tag_type uses a natural key, the egFmRecordEditor
dialog needs to allow the user to set it when creating a new
type.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1673857: teach catalog how to search and display copy tags
Galen Charlton [Wed, 29 Mar 2017 20:15:31 +0000 (16:15 -0400)]
LP#1673857: teach catalog how to search and display copy tags

When the opac.search.enable_bookplate_search library setting is
set to true, the catalog will display a "Digital Bookplates" search
field in the drop-downs on both the search bar and the advanced search
page. Using this will add a "copy_tag(*, search_terms)" filter
to the search, i.e., all visible copy tags will be searched regardless
of type.  Users can also use the copy_tag() search filter directly.

Visible copy tags are displayed in the copy table in the record
summary page. Note that copy tags are displayed regardless of whether
or not opac.search.enable_bookplate_search is on or off.

Mike Rylander also contributed to this patch.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1673857: add open-ils.circ.copy_tags.retrieve[.staff]
Galen Charlton [Wed, 29 Mar 2017 19:46:54 +0000 (15:46 -0400)]
LP#1673857: add open-ils.circ.copy_tags.retrieve[.staff]

These are methods to retrieve the set of copy tags associated
with a copy, scoped to an OU and its descendents at a
optional depth. The .staff version includes both
public and non-public notes (and requires STAFF_LOGIN
permission).

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1673857: add search filter for copy_tags
Galen Charlton [Fri, 17 Mar 2017 21:46:59 +0000 (17:46 -0400)]
LP#1673857: add search filter for copy_tags

Copy tags can be used as a search filter in the catalog. Two
variations are supported:

* copy_tag(type_code, search_terms)

  Search for records that have copies that are linked to tags
  whose value matches the search terms and whose type's
  config.copy_tag_type.code matches the specified
  type_code. E.g., "copy_tag(bookplate, donated by jane smith)"

* copy_tag(*, search_terms)

  Search for records that have copies that are linked to tags
  whose value matches the search terms, regardless of type.

The copy_tag() search filter takes the OPAC-visiblity (as determined
by asset.copy_tag.pub) of the tag into account.

Mike Rylander also contributed to this patch.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1673857: schema, IDL, library settings & perms for copy tags
Galen Charlton [Fri, 17 Mar 2017 21:46:37 +0000 (17:46 -0400)]
LP#1673857: schema, IDL, library settings & perms for copy tags

Three new tables are added to store copy tags:

* config.copy_tag_type

  Defines types that can be used for distinguishing between
  classes of copy tags when searching the catalog. The
  seed data includes a 'bookplate' type by default. The new
  permission ADMIN_COPY_TAG_TYPES controls C/U/D access to this
  table.

* asset.copy_tag

  The actual copy tag values. Copy tags have both labels and values,
  and since at least one interface allows creating copy tags
  on the fly, a trigger will set the value of a new tag
  to its label if the value is null. asset.copy_tag also has a flag
  for setting whether given tag should be searchable (and visible)
  in the public catalog or not. The new permission ADMIN_COPY_TAG
  controls C/U/D access to this table.

* asset.copy_tag_copy_map

  This stores the link between copies and their tags. Only the
  UPDATE_COPY permission is required in order to set tag mappings.

The new library setting is opac.search.enable_bookplate_search, which
controls whether or not to display a "Digital Bookplate" entry in the
catalog search fields dropdowns.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Conflicts:
Open-ILS/src/sql/Pg/950.data.seed-values.sql

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1664715: Hold ratio template ignores some copies
Mike Rylander [Tue, 14 Feb 2017 20:59:53 +0000 (15:59 -0500)]
LP#1664715: Hold ratio template ignores some copies

The relatively new report template "Hold/Copy Ratio per Bib and Pickup Library
(and Descendants)" only includes copies that are at locations that are
actually pickup libraries of holds. For instance, if you have two branches (A
and B) in a system, each with 10 copies attached to a bib, but a hold only at
branch A, the ratio calculated at the system level sees 10 copies rather than
twenty. This has the effect of inflating the hold side of the hold/copy ratio.

The SQL definition is adjusted here to count copies across the entire branch
of the org tree per bib, rather than through a join that restricts to those
branches that are pickup libraries for a relevant hold.

Upgrade note: Report templates using the Hold/Copy Ratio at Pickup Library
and Descendants data source will need to be re-created to benefit from this
bug fix.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
7 years agoLP#1705731: background batch MARC edits now report status less verbosely
Galen Charlton [Thu, 20 Jul 2017 20:17:12 +0000 (16:17 -0400)]
LP#1705731: background batch MARC edits now report status less verbosely

Rather than repeatedly inserting and fetching potentially
very large arrays of per-record status statements from the
anon cache, batch MARC edits that are run in the background
now report counts.

This patch changes how open-ils.cat.container.template_overlay.background
populates the anonymous cache; note that streaming status updates
if calling open-ils.cat.container.template_overlay instead are
*not* changed.

To test
-------
[1] Set up a MARC Batch Edit run using a reasonably large bucket
    as a source records.
[2] Verify that progress is reported correctly during the run.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1668314 - Webstaff make marcEditor's flateditor checkbox sticky
Cesar Velez [Thu, 29 Jun 2017 17:27:40 +0000 (13:27 -0400)]
LP#1668314 - Webstaff make marcEditor's flateditor checkbox sticky

Just followed the same pattern of using $watch and localstorage
to store a boolean for FlatEditor checkbox. Made $scope.flatEditor
be an object wrapping an isEnabled :bool to avoid *future* ng-if
parent scope issues that could (potentially) occur.

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>

Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1689656: Adjust to zero on negative balance
Jeff Davis [Tue, 9 May 2017 21:17:29 +0000 (14:17 -0700)]
LP#1689656: Adjust to zero on negative balance

Adjust to zero was not actually adjusting to zero on negative balances
in at least some cases.  This patch corrects that behavior.

Test plan:

[1] Generate multiple overdue billings on an overdue circ.
[2] Apply a payment (cash or forgive) to resolve the overdue billings.
[3] Checkin the item using backdated checkin or amnesty mode, such that
    the overdue billings are automatically voided, resulting in a
    negative balance.
[4] Adjust to zero.  A single new manual adjustment billing is created,
    reinstating one overdue billing, and then the adjust-to-zero process
    exits.  The negative balance has been reduced by the amount of one
    overdue billing, rather than being fully adjusted to zero.
[5] Apply the patch and restart services.
[6] Repeat steps 1-3 with a new circulation.
[7] Adjust to zero.  This time, the balance should be correctly adjusted
    to zero, instead of exiting prematurely with an outstanding
    negative balance.

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
7 years agoLP#1689656 Add test for manual adjustment of negative balance
Dan Wells [Thu, 20 Jul 2017 22:10:15 +0000 (18:10 -0400)]
LP#1689656 Add test for manual adjustment of negative balance

Without the fix in LP#1689656, this test fails.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
7 years agoLP#1680110 Webstaff circ.staff_client.receipt.* AOUS support
Bill Erickson [Wed, 5 Apr 2017 20:58:53 +0000 (16:58 -0400)]
LP#1680110 Webstaff circ.staff_client.receipt.* AOUS support

Support fetching and adding server-configured strings to print receipts
scope so they can be added to receipts.

Currently supported settings:

circ.staff_client.receipt.alert_text
circ.staff_client.receipt.event_text
circ.staff_client.receipt.footer_text
circ.staff_client.receipt.header_text
circ.staff_client.receipt.notice_text

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Lynn Floyd <lfloyd@andersonlibrary.org>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
7 years agoLP#1702756: follow-up - tidy some ersatz whitespace
Galen Charlton [Wed, 19 Jul 2017 15:57:31 +0000 (11:57 -0400)]
LP#1702756: follow-up - tidy some ersatz whitespace

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1702756 - WebStaff fix for bug that was introduced by 997e2772
Cesar Velez [Mon, 10 Jul 2017 20:47:26 +0000 (16:47 -0400)]
LP#1702756 - WebStaff fix for bug that was introduced by 997e2772

While addressing LP#1696495 fixed the bug of user settings caching
improperly between patron edits, it caused an issue when the regctl
was loaded for registering a new patron. This corrects that.

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1700773: move release notes entry to client section
Galen Charlton [Wed, 19 Jul 2017 15:41:15 +0000 (11:41 -0400)]
LP#1700773: move release notes entry to client section

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP1700773: Add Circ Mod to Staff TPAC
Jason Boyer [Mon, 17 Jul 2017 14:48:02 +0000 (10:48 -0400)]
LP1700773: Add Circ Mod to Staff TPAC

Add the Circ Modifier to the Record Detail page
in the staff opac so users don't have to go back
and forth between Holdings Maintenance as often.

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1669907: add comment about underlying cause of the bug
Galen Charlton [Wed, 19 Jul 2017 15:12:29 +0000 (11:12 -0400)]
LP#1669907: add comment about underlying cause of the bug

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1669907: Web Staff Bib record Holds View dups
Cesar Velez [Mon, 26 Jun 2017 16:25:06 +0000 (12:25 -0400)]
LP#1669907: Web Staff Bib record Holds View dups

In the webstaff client, switching from the View Holds tab
to the OPAC View and back would result in the list of hold
requests getting duplicated.

This patch fixes the problem.

Caching of tab data is explicitly not being done ATM,
so this takes care of the issue for now.

Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1697066: changing copy location search box from 3 to 4
Rogan Hamby [Fri, 9 Jun 2017 18:44:12 +0000 (14:44 -0400)]
LP#1697066: changing copy location search box from 3 to 4

This patch makes the number of options displayed in the
shelving location selector on the public catalog advanced
search page 4, matching the other selectors.

Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1486451: Remove rdetails_status nowrap style
Kathy Lussier [Tue, 11 Jul 2017 17:08:23 +0000 (13:08 -0400)]
LP#1486451: Remove rdetails_status nowrap style

The copy details table was styled to not wrap, which sometimes pushed table
contents off the page, particularly when some of the copies are conjoined
items. This commit removes the style that was preventing wrapping.

Test plan:
Load record 15 in the Concerto dataset. Before the patch is loaded, you'll
see that some of the content in the copy details table is pushed off the
screen and requires horizontal scrolling. Post-patch, all of the copy
details will display on screen without horizontal scrolling. In addition
to the change in the Conjoined Items, you also might see some text wrapping
in the Shelving Location and Status columns.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1691560: start open-ils.qstore service by default
Galen Charlton [Sat, 20 May 2017 13:36:06 +0000 (09:36 -0400)]
LP#1691560: start open-ils.qstore service by default

To test
-------
[1] Apply patch, then restart all services.
[2] Verify that open-ils.qstore is running.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoLP#1692106: Z39.50 server includes prefix and suffix in 852
Martha Driscoll [Thu, 25 May 2017 18:39:30 +0000 (14:39 -0400)]
LP#1692106: Z39.50 server includes prefix and suffix in 852

Add the call number prefix and suffix to the 852 $k and $m when copy
information is returned by the Z39.50 server.

Signed-off-by: Martha Driscoll <driscoll@noblenet.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoLP1704463: Item Status Fields Correction
Jason Boyer [Fri, 14 Jul 2017 19:01:09 +0000 (15:01 -0400)]
LP1704463: Item Status Fields Correction

The Loan Duration and Fine Level fields were
being incorrectly pulled from unrelated fields
on the most recent circ rather than the item.

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoDocs: Search Filter Enhancements
Angela Kilsdonk [Thu, 13 Jul 2017 20:17:39 +0000 (13:17 -0700)]
Docs: Search Filter Enhancements

Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org>
7 years agoDocs: Update to Statistical Popularity Badges
Angela Kilsdonk [Thu, 13 Jul 2017 16:39:56 +0000 (09:39 -0700)]
Docs: Update to Statistical Popularity Badges

Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org>
7 years agoDocs: Statistical Popularity Badges
Angela Kilsdonk [Thu, 13 Jul 2017 15:38:10 +0000 (08:38 -0700)]
Docs: Statistical Popularity Badges

Documentation for new statistical popularity badge feature in the web client.

Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org>
7 years agoDocs: Email Checkout Receipts (web client)
Angela Kilsdonk [Wed, 12 Jul 2017 21:43:06 +0000 (14:43 -0700)]
Docs: Email Checkout Receipts (web client)

Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org>
7 years agoDocs: Add doc for Cash Reports feature
Jane Sandberg [Fri, 7 Jul 2017 12:39:14 +0000 (08:39 -0400)]
Docs: Add doc for Cash Reports feature

Add basic documentation for the previously undocumented Cash Reports
feature.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
7 years agolp1702568 Copy Location fix for Hold Detail View
Jason Etheridge [Wed, 5 Jul 2017 21:02:43 +0000 (17:02 -0400)]
lp1702568 Copy Location fix for Hold Detail View

hold.current_copy.location is better fleshed than copy.location in this case

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
7 years agolp1661685 fix circ lib in patron holds list
Jason Etheridge [Mon, 3 Jul 2017 17:47:25 +0000 (13:47 -0400)]
lp1661685 fix circ lib in patron holds list

and make it and the circ modifier column hidden by default

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
7 years agolp1661685 webstaff: Circ Lib column for Items Out
Jason Etheridge [Fri, 30 Jun 2017 20:45:30 +0000 (16:45 -0400)]
lp1661685 webstaff: Circ Lib column for Items Out

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
7 years agolp1661685 webstaff: Fix Owning Lib in Item Status
Jason Etheridge [Wed, 28 Jun 2017 18:58:37 +0000 (14:58 -0400)]
lp1661685 webstaff: Fix Owning Lib in Item Status

Detail View

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
7 years agolp1661685 fieldmapper label change for circ
Jason Etheridge [Wed, 28 Jun 2017 18:41:53 +0000 (14:41 -0400)]
lp1661685 fieldmapper label change for circ

Change "Circulation Library" to "Checkout / Renewal Library"

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
7 years agolp1661685 webstaff: add money.grocery to pcrud
Jason Etheridge [Wed, 28 Jun 2017 18:40:02 +0000 (14:40 -0400)]
lp1661685 webstaff: add money.grocery to pcrud

and add a single column called Location to the Bills interface which shows
either the circ.circ_lib or the grocery.billing_location for a given xact

and the specific columns for both xact types

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
7 years agoLP#1685933 - Add Owning Library column to grids in ItemsOut and checkout views
Cesar Velez [Thu, 15 Jun 2017 15:30:48 +0000 (11:30 -0400)]
LP#1685933 - Add Owning Library column to grids in ItemsOut and checkout views

Added necessary fleshing in egCirc service and items out to get acn.owning_lib.shortname

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
7 years agoLP#1661685 - Adds circ library column to staff webclient grids
Cesar Velez [Wed, 14 Jun 2017 21:14:14 +0000 (17:14 -0400)]
LP#1661685 - Adds circ library column to staff webclient grids

Circulation Library was missing as an option from several grids
Added also function to flesh out circ_lib.shortname to display name.

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
7 years agoLP#1661685 - Adds missing Circulation Modifier column to several grids
Cesar Velez [Fri, 9 Jun 2017 21:36:16 +0000 (17:36 -0400)]
LP#1661685 - Adds missing Circulation Modifier column to several grids

Some views like the Checkout,CheckIn, Holds, And Bills
 did not display the copy's circ_modifier field.
 Also added egCirc.flesh_copy_circ_modifier()

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
7 years agoLP#1697754 - WebStaff make receipt on payment sticky
Cesar Velez [Fri, 23 Jun 2017 16:45:15 +0000 (17:45 +0100)]
LP#1697754 - WebStaff make receipt on payment sticky

    Add circ.bills.receiptonpay local storage setting.

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
7 years agoLP#1677000 - webstaff Adds a 'has-notes visual indicator' for patrons with notes.
Cesar Velez [Thu, 8 Jun 2017 15:33:31 +0000 (11:33 -0400)]
LP#1677000 - webstaff Adds a 'has-notes visual indicator' for patrons with notes.

Made the indicator be clickable and route to Other->Notes.
Other ways to address this not mentioned in LP would be
using a glyphicon instead, or moving the Notes submenu item out of Others tab.
Or even making the entire tab/menu be resposive, and collapsing into an Others submenu
only when needed.

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
7 years agoLP#1672421-Fix for Catalog record Holds view grid not refreshing
Cesar Velez [Wed, 21 Jun 2017 21:02:24 +0000 (17:02 -0400)]
LP#1672421-Fix for Catalog record Holds view grid not refreshing

Holds view grid was not refreshing upon paging using next/prev
Added call to egHolds service to fix that.

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
7 years agoLP#1653998 Remove undefined $routeProvider reference
Bill Erickson [Fri, 30 Jun 2017 15:24:12 +0000 (11:24 -0400)]
LP#1653998 Remove undefined $routeProvider reference

Avoid 'grunt test' failure "Unknown provider: $routeProvider" resulting
from $routeProvider references in startup.js (egCoreMod) without first
loading the ngRoute module.

$routeProvider is not needed by the original patch.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agolp1517595 webstaff: purge patron account action
Jason Etheridge [Thu, 15 Jun 2017 16:58:19 +0000 (12:58 -0400)]
lp1517595 webstaff: purge patron account action

TODO: disable the menu entry based on permissions

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agowebstaff: CSS for disabled anchor <a> elements
Jason Etheridge [Thu, 15 Jun 2017 15:29:59 +0000 (11:29 -0400)]
webstaff: CSS for disabled anchor <a> elements

Don't let bootstrap override the grey color (for example, when using dropdown-menu)

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoFix Can't locate object method "workstation" error
Jason Etheridge [Tue, 17 Jan 2017 21:39:58 +0000 (16:39 -0500)]
Fix Can't locate object method "workstation" error

When trying to utilize the Recall functionality, Evergreen would fail to update
targeted circulations (truncate the due date, etc.)  In the logs, we would have
an error like this:

[] open-ils.storage [ERR ::action.pm:1597:] Processing of hold failed:
Can't locate object method "workstation" via package "action::circulation" at
/usr/local/share/perl/5.14.2/OpenILS/Application/Storage/CDBI.pm line 181.

We first tried adding the workstation column to Storage/CDBI/action.pm, but a
similar message would then appear instead: Can't locate object method
"checkin_workstation"

This sidesteps the problem entirely.

Thanks to Mike for the solution!

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoLP#1205190: more CSS tweaks
Galen Charlton [Mon, 15 May 2017 18:01:52 +0000 (14:01 -0400)]
LP#1205190: more CSS tweaks

* replace a few more "background" with "background-color"

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoLP#1205190: TPAC: Improve style.css to reduce warnings
Dan Scott [Fri, 26 Jul 2013 04:05:49 +0000 (00:05 -0400)]
LP#1205190: TPAC: Improve style.css to reduce warnings

* Improve specificity: use background-image (for gradients) or
  background-color (for color) instead of just background, because we
  are only specifying the image or color, and not the rest of the
  background properties.
* Declare the background-color first, followed by the background-images;
  these will only override if recognized by the browser.
* Declare the standard (unprefixed) CSS linear-gradient last to prevent
  prefixed browser quirk versions from overriding the standardized form.
* Remove the -moz- prefix from -moz-border-radius as that has not been
  supported by Gecko since Firefox 13.0; just plain border-radius now.
* Fix bad selector ##rdetail_extras_expand (only one #, please).

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Conflicts:
Open-ILS/src/templates/opac/css/style.css.tt2

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Conflicts:
Open-ILS/src/templates/opac/css/style.css.tt2

Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoLP#1205190: quiet some CSS Mozilla extensions warnings.
Pasi Kallinen [Thu, 1 Aug 2013 08:21:17 +0000 (11:21 +0300)]
LP#1205190: quiet some CSS Mozilla extensions warnings.

* -moz-dialog-text is actually -moz-dialogtext
* -moz-outline is deprecated, use outline
* -moz-border-radius has been removed, use border-radius
* -moz-border-radius-topleft (etc) are now border-top-left-radius
* Fix some other CSS errors.

Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Conflicts:
Open-ILS/src/templates/opac/css/style.css.tt2
Open-ILS/web/css/skin/default/register.css
Open-ILS/web/opac/skin/default/xml/home/homesearch.xml
Open-ILS/web/reports/oils_rpt.css
Open-ILS/xul/staff_client/server/admin/org_unit_settings.xhtml
Open-ILS/xul/staff_client/server/serial/notes.xul
Open-ILS/xul/staff_client/server/skin/circ.css

Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoLP#1697954 Items out fetch grids only when needed
Bill Erickson [Thu, 29 Jun 2017 18:51:40 +0000 (14:51 -0400)]
LP#1697954 Items out fetch grids only when needed

Avoid forcing a refresh of Items Out grids in cases where the grids will
automatically refresh as a new grid is instantiated.  This prevents the
code from calling redundant data collection APIs, resulting in local
cache's with duplicate data sets.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoLP#1697954 Items out pre-fetch renders selected range
Bill Erickson [Thu, 29 Jun 2017 15:55:26 +0000 (11:55 -0400)]
LP#1697954 Items out pre-fetch renders selected range

Items out and noncat items out grids now only render the selected range
of transactions, instead of the full set collected for client-side grid
sorting.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoLP#1697954 Notify correct page of patron holds
Mike Rylander [Thu, 22 Jun 2017 16:09:26 +0000 (12:09 -0400)]
LP#1697954 Notify correct page of patron holds

Instead of notifying the grid on all holds, just notify when we're inside
the current page of results.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1697954 Hold details API additional fleshing
Bill Erickson [Wed, 21 Jun 2017 16:09:37 +0000 (12:09 -0400)]
LP#1697954 Hold details API additional fleshing

* Support new flesh options in hold details retrieval API:

include_current_copy
include_usr
include_cancel_cause
include_requestor

* Teach browser client code to use the new flesh options.  This reduces
  the number of API calls significantly for rendering holds grids.

* Add debug logging to existing local-flesh calls to indicate when/if
  additional API fleshing may be needed.

* Remove TODO comment about batching holds to avoid cstore exhaustion,
  which was fixed with LP#1653001.  However, leave the batching in place
  since it noticeably improves UI responsiveness, at the cost of a few
  extra API calls.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoLP#1697954 TODO comments for client sort all-fetching
Bill Erickson [Wed, 21 Jun 2017 15:35:15 +0000 (11:35 -0400)]
LP#1697954 TODO comments for client sort all-fetching

Add additional code comments further clarifying why some grids pre-fetch
all rows (for client-side sorting) instead of fetching in pages.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoLP#1697954: Enable clientsort for user items out lists
Mike Rylander [Wed, 14 Jun 2017 15:53:11 +0000 (11:53 -0400)]
LP#1697954: Enable clientsort for user items out lists

These will generally be small, so we'll fetch all the data to support client-
side sorting.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1697954: Enable clientsort for user holds lists
Mike Rylander [Wed, 14 Jun 2017 15:51:53 +0000 (11:51 -0400)]
LP#1697954: Enable clientsort for user holds lists

These will generally be small, so we'll fetch all the data to support client-
side sorting.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1697954: Enable clientsort for checkout
Mike Rylander [Wed, 14 Jun 2017 15:51:24 +0000 (11:51 -0400)]
LP#1697954: Enable clientsort for checkout

This list is filled by the user, so it's safe to use client-side sorting.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1697954: Provide custom comparator for sorting money on renew
Mike Rylander [Wed, 14 Jun 2017 16:07:52 +0000 (12:07 -0400)]
LP#1697954: Provide custom comparator for sorting money on renew

mbts.balance_owed often arrives as a string, so we provide here a custom
comparator function that runs the values through parseFloat() before comparing
them.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1697954: Enable clientsort for renew
Mike Rylander [Wed, 14 Jun 2017 15:50:52 +0000 (11:50 -0400)]
LP#1697954: Enable clientsort for renew

This list is filled by the user, so it's safe to use client-side sorting.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1697954: Enable clientsort for pending patrons
Mike Rylander [Wed, 14 Jun 2017 15:50:08 +0000 (11:50 -0400)]
LP#1697954: Enable clientsort for pending patrons

This list always retreives all data, so it's safe to use client-side sorting.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1697954: Provide custom comparator for sorting money on checkin
Mike Rylander [Wed, 14 Jun 2017 16:11:27 +0000 (12:11 -0400)]
LP#1697954: Provide custom comparator for sorting money on checkin

mbts.balance_owed often arrives as a string, so we provide here a custom
comparator function that runs the values through parseFloat() before comparing
them.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1697954: Enable clientsort for checkin
Mike Rylander [Wed, 14 Jun 2017 15:49:12 +0000 (11:49 -0400)]
LP#1697954: Enable clientsort for checkin

This list is filled by the user, so it's safe to use client-side sorting.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1697954: Enable clientsort for item status list
Mike Rylander [Wed, 14 Jun 2017 15:47:48 +0000 (11:47 -0400)]
LP#1697954: Enable clientsort for item status list

This list is filled by the user, so it's safe to use client-side sorting.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agoLP#1697954: Provide client-side sorting for grids that can use it
Mike Rylander [Wed, 14 Jun 2017 15:32:36 +0000 (11:32 -0400)]
LP#1697954: Provide client-side sorting for grids that can use it

There are several grids (items out, checkin, checkout, item status, etc) that
could benefit from the ability to sort their items, but either the data
provider uses a complex data structure or an API call that doesn't offer
sorting, or the item list is populated by user input rather than a call to the
server.  In those cases, sorting is not available.  However, if we know that
all the data in the grid is in client memory, it would be reasonable to offer
a client-side sort option.

This commit does that by teaching the grid to accept a "clientsort" feature
and teaching arrayNotifier how to sort the items currently stored.  The sort
works over any mix of IDL objects, hashes, and flattened fields, supports
multisort, and pushes "nulls" to the end of the list.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
7 years agolp1678152 webstaff fix Add Copies & Volumes
Jason Etheridge [Mon, 26 Jun 2017 12:11:28 +0000 (08:11 -0400)]
lp1678152 webstaff fix Add Copies & Volumes

Changes open-ils.cat.asset.volume.fleshed.batch.update,
AssetCommon::create_volume, and Cat::Merge::merge_volumes
to handle auto-volume merges during volume creation.

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
7 years agoLP#1687125: add release notes
Galen Charlton [Thu, 29 Jun 2017 16:03:53 +0000 (12:03 -0400)]
LP#1687125: add release notes

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1687125: adjust relationship between acqpro and acqpron
Galen Charlton [Thu, 29 Jun 2017 14:14:17 +0000 (10:14 -0400)]
LP#1687125: adjust relationship between acqpro and acqpron

A provider can have many notes, and "provider_notes" is effectively
virtual.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1687125: adding provider note to provider note in fm_IDL
Rogan Hamby [Fri, 28 Apr 2017 23:08:50 +0000 (19:08 -0400)]
LP#1687125: adding provider note to provider note in fm_IDL

This patch makes provider notes available to the reporter.

To test
-------
[1] Add a note to a provider record (note that at present,
    this can only be done directly in the database).
[2] In the report editor, verify that the reporting
    source for providers now includes a link to notes.
[3] Create and run a report that includes the provider
    note.

Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
7 years agoLP#1208875: Add Release Note
Jason Stephenson [Tue, 27 Jun 2017 14:20:22 +0000 (10:20 -0400)]
LP#1208875: Add Release Note

Signed-off-by: Jason Stephenson <jason@sigio.com>
7 years agoLP#1208875: follow-up to standardize extract fields
Galen Charlton [Fri, 2 Jun 2017 17:13:50 +0000 (13:13 -0400)]
LP#1208875: follow-up to standardize extract fields

This patch removes the proposed custom methods for extracting
title, author, and record format in favor of tweaking
->fetch_user_circ_history to invoke unapi.bre and adjusting
the template to use get_marc_attrs. Also, nowadays
->fetch_user_circ_history can flesh what we need it to without
having to rely on the existance of an action.circulation row,
which won't be present if the circ was aged but was otherwise
retained in the user circ history.

The result is slower than the previous approach, but still
retains the core idea of getting A/T out of the equation, and remains
much faster than the A/T approach.

Dropping use of unapi.bre would speed things up a bit more, as it
was added only to match the addition of the record format column
in the CSV output. Drop the column, and we no longer need to worry
about MVFs.

There would also be opportunities to improve caching further.  Bib
display fields, when it comes, will likely help even more, as it
would mean being able to drop a lot of the XML parsing currently used.

This patch also adjusts misc_util.tt2 so that including it doesn't
result in an unwanted blank line.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
7 years agolp1208875 make _get_circ_history_csv work with fetch_user_circ_history
Jason Etheridge [Fri, 2 Jun 2017 06:08:26 +0000 (02:08 -0400)]
lp1208875 make _get_circ_history_csv work with fetch_user_circ_history

braindead adaptation.. _get_circ_history_csv predates fetch_usre_circ_history

I haven't scrutinized what the two circ_history subs actually do, but I bet
there's room for improvement here.

However, as it is now we do get a significant speed boost.  Thanks Dyrcona!

Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
7 years agoLP#1208875: Use text/csv MIME for circ history CSV.
Jason Stephenson [Mon, 9 Jun 2014 18:48:16 +0000 (14:48 -0400)]
LP#1208875: Use text/csv MIME for circ history CSV.

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>