LP#1765444: improve how MARC editor fetches fixed field metadata
This patch fixes a problem where the web staff MARC editor would
make repeated and redundant calls to two Evergreen methods to fetch
data about fixed field positions and values if that metadata was
not already cached by local storage or Hatch.
In particular, this patch caches and returns the data retrieval
promises, ensuring that only one set of FF position and value
requests are made.
Prior to this patch, each eg-marc-edit-fixed-field directive, of which
there are 64, could end up invoking those methods when initializing
the editor for a record type that had not been previously seen.
To test
-------
[1] Clear all FFPosTable_* and FFValueTable_* keys from local storage
(or Hatch).
[2] Retrieve a bib record in the web staff client. Note that up to
64 calls each are made of open-ils.cat.biblio.fixed_field_values.by_rec_type
and open-ils.fielder.cmfpm.atomic.
[3] Apply the patch and repeat steps #1 and #2.
[4] This time, note that only one call each are made.
[5] Verify that the fixed field inputs continue to work as expected.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
A thinko in the org tree reconstruction for offline mode caused the tree to be
broken in some situations, when the orgs were not ordered strictly by ID in
the list stored in the browser's IndexedDB storage. This commit removes that
requirement, and allows trees of any ID and storage ordering to be
reconstituted.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Jason Stephenson <jason@sigio.com>
- Add update watcher and call itemSvc.get_floating_groups within
egVolTemplate directive to properly populate dropdown when accessing
volcopy editor from local administration.
Apply payment button on patron bills screen should be inactive if Payment
Received is blank
Adds a test to see if there is a value in Payment Received input box. The
Apply Payment button doesn't activate unless a billing or billings is
selected and a numerical value is in Payment Received.
To test.
1. Add some billings to a patron's account.
2. Click some of the billings to select them. Notice that the Apply Payment
button is active.
3. Apply patch
4. Select some of the billings. The Apply Payment button is not active.
5. Enter some values into Payment Received. If values other than numbers
are entered the Apply Payment button is not activated. If numbers are
added the button is activated.
6. Uncheck all of the billings to see that the activated button deactivates,
if no billings are checked.
Signed-off-by: gcollum <gcollum@gmail.com> Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org> Signed-off-by: Dawn Dale <ddale@georgialibraries.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Add support for converting change to patron credit in the patron bills
interface, consistent with the XUL feature. When the
'circ.disable_patron_credit' org unit setting is applied, the option is
hidden.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Laura Sachjen <sachjenl@branchdistrictlibrary.org> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Jason Boyer [Fri, 20 Apr 2018 18:49:25 +0000 (14:49 -0400)]
LP14973322: Search for Users by Profile
Stop treating profile like a text value, instead
include users in the selected profiles and descendants.
To test
-------
[0] Search for users by last name (and / or first) and do not
select a profile, take note of results
[1] Select the top of your permission group tree (Users, likely) and
search again, results should be the same.
[2] Select a group further down the tree (Circulators, Administrators,
Patrons, etc.) and repeat the search, there should only be results
from that group and its descendants.
[3] Finally, select a group with no child groups. Results will only be
that specific group.
Signed-off-by: Jason Boyer <jboyer@library.in.gov> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Galen Charlton [Wed, 21 Mar 2018 16:03:27 +0000 (12:03 -0400)]
LP#1756912: restore display of copy counts for preferred library
This patch fixes a regression introduced by the patches for bug 1698206
and restores the display of copy counts for the preferred library (when set)
on the public catalog results and record details pages.
To test
-------
[1] Log into the public catalog as a user and set a preferred library.
[2] Perform a catalog search at a system that is other than the
preferred library set in step 1. Repeat the search with
"Groups Formats and Editions" checked.
[3] Note that in both cases, the copy counts displayed in search results and
the record details pages do not include a line for the preferred
library.
[4] Apply the patch and repeat step 2. This time, the preferred library
count should be included in the display.
The substance of this patch (with the exception of the pgTAP tests)
follows an approach suggested by Bob Wicksall <bwicksall@pls-net.org>
- Updated screenshots.
- Changed name of "Lost, Claimed Returned, Long Overdue, Has Unpaid
Billings" to "Other/Special Circulations".
- Added tip pointing to the docs chapter on the library settings editor.
- Changed a setting code to its equivalent display name.
Signed-off-by: Katie G. Martin <bcl@blaircountylibraries.org> Signed-off-by: Remington Steed <rjs7@calvin.edu>
Remington Steed [Thu, 10 May 2018 15:00:16 +0000 (11:00 -0400)]
Docs: Fix inaccuracies in Holdings Import Profiles sections
In dev/_importing_materials_in_the_staff_client.html:
- Fix "For more details" link
- Remove remaining references to "Keep" (some were removed previously in
commit 7570423802)
- Remove "static values" references from both pages (not supported)
- Add link to related Library Settings
In dev/_import_item_attributes_2.html:
- Remove sentence fragment left behind when previous "Keep" reference
was deleted.
- Add table row for "Parts Data"
Always retrieve the latest copy transit from the server when displaying
the copy transit dialog. This resolves an issue where a just-closed
transit is used instead.
Add a filter to avoid canceled transits.
Make the transit lookup call authoritative, since the transit may have
just been created.
To test (test plan courtesy of John Amundson):
1. Sign in as Library A.
2. Check in an item owned by Library B that does not have any holds
associated with it. This will send the item in transit to its home,
Library B.
3. Place a hold on the item to be picked up at Library C.
4. Sign in as Library B.
5. Check in the item. The transit pop-up and printout will show that
the item needs to be transited to Library B instead of Library C.
6. Apply the patch and repeat steps 1-5 using a different item. This
time, the transit pop-up will show that the item needs
to be transited to Library C.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
LP#1765501: ensure that webstaff MARC editor can deal with short 008s
This patch ensures that the 008 field, when maintained by the web staff
MARC editor, is kept at its proper length. In particular, this solves a
problem where input can get messed up if the user selects the entire
contents of the 008 field and replaces it with a shorter string.
To test
------
[1] Create a new bib record. Ensure that the MARC record editor is
/not/ in flat text mode.
[2] Edit the 008 field by selecting its entire contents and replacing it
with a subset. For example, this might be done when the first action
that a cataloger takes is to set the 008/00-05.
[3] Enter value in the individual fixed-field inputs at the top of the
MARC editor form. For example, enter 'eng' in the Lang field.
[4] Note that the results are wrong; e.g., the text ends up as
"080419en en eng".
[5] Apply the patch and repeat steps #1-#4. This time, the results
should be correct.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Chris Sharp [Mon, 7 May 2018 12:31:56 +0000 (08:31 -0400)]
LP#1743854 - Correct initial cursor focus in in-house use UI
Previously, the "Record In-House Use" UI opened with the cursor
focused in the "# of Uses" field, which required staff to manually
select the "Barcode" field. It is far more intuitive to have the
"Barcode" field have initial focus.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Geoff Sams <gsams@roanoketexas.com>
Kathy Lussier [Fri, 23 Mar 2018 20:35:16 +0000 (16:35 -0400)]
LP#1758426: Disable triggers before recalculating bib visibility
Disabling triggers in the 3.0.2-3.0.3 upgrade script to speed up the
recalculation of bib visibility. These are the same triggers that were
disabled when performing a similar recalculation in the 2.12.6-3.0.0 upgrade
script.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <ben@evergreener.net>
Rogan Hamby [Fri, 23 Mar 2018 13:51:59 +0000 (09:51 -0400)]
LP#1387722: Update MARC leader when deleting a record
When merging bib records, in the Leader, position 05 - Record Status
of the deleted record, the code should be changed to "d," for deleted,
as it is when a record is simply deleted within the client.
Rogan's squashed branch for updating record status in leader, along with
pgtap test and release notes.
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com> Signed-off-by: Ben Shum <ben@evergreener.net>
Jane Sandberg [Thu, 22 Mar 2018 14:28:27 +0000 (07:28 -0700)]
LP1119370: Corrects sorting in the list of z39.50 services
To test
-------
[1] Add several z39.50 servers, with names starting with both
lower case and capital letters.
[2] In the Web client, go to Cataloging > Import Record from
Z39.50. The list of Services and Credentials will be sorted
in order alphabetically twice -- first for names that start
with a capital letter, then for names that start with lower
case letters.
[3] Apply this patch and repeat step 2. This time, the list
should be sorted alphabetically, and then have Local Catalog
at the very bottom of the list.
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Ben Shum <ben@evergreener.net>
When suggested call numbers are pulled from a bib record, space delimiters are
dropped. This is bad for noralization routines. Now we will forcibly inject
a space between subfield values.
Also included are two small optimizations: exit early if no nodes are found
for a particular bib CN definition; use map+join instead of a for loop and
blind substring trim to stitch together an xpath expression.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
This patch works around two regressions introduced by a previous patch:
- record links from titles on the OPAC results page simply re-ran
the search
- record links from cover images on the OPAC results page dropped
all paramters
In one case, a 'record_url' should have been a mkurl() expression. In the
other case, the prior patch did not handle the clear_params parameter
correctly; an empty array is /not/ equivalent to undef, and all CGI parameters
were getting cleared.
This patch is offered in lieu of simply pushing a revert.
Jane Sandberg [Sat, 10 Feb 2018 16:22:20 +0000 (08:22 -0800)]
LP1748649: Don't show bib call # in show_details mode
Using "show more details" in the public catalog displays
a list of items associated with each bib in the results list --
and their call numbers. Consequently, when in that mode, it
is not necessary to separately display one of the bib call numbers
in the bib summary on the results page; this patch removes it.
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Allow staff to manually override the patron juvenile flag value
regardless of patron DoB.
Patch removes the ng-blur handler for dob and expire_date, which fires
too aggressively. The dob handler is replaced with a $watch handler, so
the new and old value can be compared. No watch is applied to
expire_date, since no code is currently fired when it's changed.
Change the log level of the "field changed" message from log to debug.
To test:
[1] Open a patron in the web staff patron editor.
[2] Apply a juvenile birth date (less than 18 years by default).
[3] Confirm the juvenile flag is automatically activated (if it wasn't
already).
[4] Confirm it's possible to un-check the juvenile flag and save the
patron.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
LP#1752434: (follow-up) fix un/highlighting of author name
This patch fixes a regression introduced by the previous patch
that caused portions of an author/contributor name that matched
a search to always be highlighted, regardless of whether or not
the user had turned off highlighting.
Mike Rylander [Thu, 1 Mar 2018 20:34:02 +0000 (15:34 -0500)]
LP#1752434: Use display fields even when not highlighting
Always retrieve display field data, and decide whether to use the highlighted
version of each based on the configuration and user option rather than falling
back to template-side MARC extraction when not highlighting.
Dan Pearl [Fri, 2 Mar 2018 18:37:43 +0000 (13:37 -0500)]
LP173259 - Array error appears in search box while placing hold after advanced search
The place-hold code assumed it was not in "_adv" parameter mode. This
assumption was faulty. Now, the link generated for Place Hold will
translate the argument list to the single-line format that Place Hold
expected, when necessary.
Testing procedure:
Set holds for all the following items, observing that the searchbox in
the searchbar is not blank and does not contain ARRAY(xxx).
Basic Search / Place Hold
Basic Search / Record Detail / Place Hold
Advanced Search with a plain search term / Place Hold
Advanced Search with a plain search term / Record Detail / Place Hold
Advanced Search with a fancy (multiline) search term / Place Hold
Advanced Search with a fancy (multiline) search term / Record Detail / Place Hold
Signed-off-by: Dan Pearl <dpearl@cwmars.org> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
This patch uses accs to work out the name of the workstation
of the most recent renewal, if it exists, or the original
checkout. It implicitly handles the case where the workstation
on the original circulation is null. As a bonus, this patch
adds an explicit "Last Renewal Workstation" to the item status
grid.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
Cesar Velez [Fri, 19 Jan 2018 17:55:03 +0000 (12:55 -0500)]
LP#1738249 - Webstaff CircLib should point to item's circ_lib plus misc
This addresses some display issues in the webstaff Item Status grid.
Besides, correcting the Circ Lib to be the item's and not the
circulation,this also fleshes the owning lib. Additionally, I've applied
miker's fix to 1743819 in order to prevent a regression.
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> Signed-off-by: Jason Stephenson <jason@sigio.com>
Adds some fixes to the column pickers in the web staff client Item Status
interface:
* The Circulation Library field now displays the asset.copy circ library
instead of the checkout library.
* The Circulation Library and Checkout / Renewal Library now show the
shortname instead of the full name.
* A typo fix so that Remaining Renewals display
Kathy Lussier [Mon, 19 Mar 2018 20:15:01 +0000 (16:15 -0400)]
LP#1756993: Add padding to bottom of web client pages
Adds 50px of padding at the bottom of web client interfaces. This padding
provides some breathing room at the bottom of the page without giving the
appearance of too much white space.
Chris Sharp [Tue, 10 Apr 2018 15:40:35 +0000 (11:40 -0400)]
LP#1746300: Fix circulation counts in Item Status Details
Currently, the "Total Circs -Current Year" and "Total Circs -
Prev Year" numbers are seemingly randomly incorrect. This is
caused by pulling the numbers from the "circbyyr" fieldmapper
object, which results in an array of 2 rows (one for renewals
and one for new circs). The current JS only displays the count
for the first item in the array, ignoring the other.
This branch totals the two, resulting in the right result for each
year's circulations.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 23 Mar 2018 18:48:02 +0000 (14:48 -0400)]
LP#1758360: handle DOB display logic in egPatronSummary correctly
This patch ensures that the patron DOB will be displayed or
obscured correctly by the standalone egPatronSummary directive
in the same way that the patron app does.
To test
-------
[1] In the web staff client, do a patron search, select two patrons,
then click the Merge Patrons button.
[2] Note that the patron DOB is not displayed in the modal.
[3] Apply the patch and repeat step #1.
[4] This time, the patron DOB will be displayed (if the
circ.obscure_dob library setting is not enabled) or the
the field label will be clickable (and clicking it will
cause the DOB to be displayed).
Jeff Davis [Mon, 22 May 2017 20:26:10 +0000 (13:26 -0700)]
LP#1682296: Avoid database query error on serials batch receive
To test
-------
[1] Example Search -> Retrieve title by database ID -> Actions
for this Record -> Serials Batch Receive -> Next ->
this works as expected & receivable issues are listed.
[2] Click on "Start Over"; you are prompted to "Enter an identifier
for a bibliographic record" this is where the search fails
[3] Desired behavior - If you enter a database ID or ISSN in the
"Enter an identifier for a bibliographic record" field the
receivable issuances should be displayed
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>
When a patron summary contains an image of the patron, that image tag
now has a null alt attribute to remove it from the flow of a screen
reader. As the image provides no navigation capabilities or additional
data, this is the proper way to assign an alt attribute
Signed-off-by: Sam Link <slink@columbiacountyga.gov> Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Josh Stompro [Tue, 19 Dec 2017 14:37:55 +0000 (08:37 -0600)]
LP#1739044: fix lock file detection in eg-pbx-allocator.pl
Lock file detection wasn't working correctly. The
wrong operator was used to read the contents of the lock file.
Testing:
Running the eg-pbx-allocator.pl in the background multiple times will
trigger the lock file detection. Use -t to run in test mode to avoid
moving any files while testing.
Mike Rylander [Mon, 2 Apr 2018 20:09:12 +0000 (16:09 -0400)]
LP#1760223: Update HTTP headers to follow standard
In the olden days, some browsers didn't understand the "attachment" content
disposition. They only understood "inline" but would let the user save a file
if a filename was provided. However, in these modern days, relevant browsers
all do the right thing and know about both flavors of content disposition, so
we, too, must change with the times and support the letter of the standard.
This commit fixes downloading of MARCXML from the Exporter module.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Rylander [Mon, 16 Apr 2018 14:29:05 +0000 (10:29 -0400)]
LP#1745233: Don't test for LURIs during copy location searches
When a user is searching with a copy location or location group filter,
Located URIs should not be used to include records in the result set because
they are not "within" a copy location.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
- User and Group Permissions
- One new screenshot
- Minor line reformatting
- SMS Text Messaging
- Update screenshots and alt text
- Correction/clarification to some instructions
- Barcode Completion
- Replace composite screenshot with separate updated screenshots
- Reformat headings to accommodate new screenshots
- Update other screenshots
- Slight rewording (change "actor" to "patron", "asset" to "copy")
- Remove release date and reference to previous name of feature
Jason Boyer [Mon, 2 Apr 2018 17:55:02 +0000 (13:55 -0400)]
LP1760662: Item Status Holdable Field Display
The Holdable field on the Summary tab of the Detail View
of Item Status was displaying the value for OPAC Visible.
Let's change that from opac_visible() to holdable().
Signed-off-by: Jason Boyer <jboyer@library.in.gov> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Jason Stephenson [Thu, 12 Apr 2018 14:47:40 +0000 (10:47 -0400)]
Lp 1735539: Fix Item Status ability to delete multiple copies.
Use the notify handler instead of the resolve handler to collect our
copies. This ensures we get them all instead of just the last one.
To reproduce the bug:
1. Open Item Status in the web staff client.
2. Load multiple items, perhaps by uploading a file of barcodes.
3. Select more than 1 item from the list.
4. Choose "Delete Items" from the Actions menu.
5. Note that the dialog indicates that you will delete 1 copy.
6. Click the Cancel button in the dialog.
To test, after applying the fix branch:
1. Open Item Status in the web staff client.
2. Load multiple items, perhaps by uploading a file of barcodes.
3. Select more than 1 item from the list.
4. Choose "Delete Items" from the Actions menu.
5. Note that that the dialog indicates you will delete X copies,
where X is the number of items selected.
6. Click OK and confirm that all copies were deleted.
7. You can confirm 6 by reloading the interface and uploading the
file of barcodes again.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Jason Boyer <jboyer@library.in.gov> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Consistent with the XUL client, only display patron standing penalties
(AKA Messages) that are linked to an org unit which is an ancestor,
matching, or descendant org unit of the workstation (e.g. the full
path).
To test:
[1] Create a patron Message which applies to a branch using a branch or
null-depth penalty (e.g. at BR1).
[2] Create a second message that links to the root org unit (e.g. CONS)
via depth=0 penalty.
[2] Log out and back in to the browser client at a workstation under a
different section of the org unit tree (e.g. BR3) and confirm the
Messages created at BR1 do not display, but the messages created at CONS
do.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Apply correct org unit to patron penalties created in the web staff
client. Specifically, be sure the standing penalty depth value is
honored when set.
Commit replaces manual pcrud creation with the XUL-tested API, which
calculates the correct org unit by depth for us.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
- Change menu names to match web client ("Admin" to "Administration", and
"Server Admin -> Acq" becomes "Acq Admin")
- Fix list formatting where images were breaking a numbered list into
two lists