Bill Erickson [Fri, 28 Aug 2020 19:16:20 +0000 (15:16 -0400)]
LP1888723 Item location select honors context org
The Angular <eg-item-location-select /> component now limits the
locations to display to those within the specified context org unit.
Instead of acting as the source of context org units, the permFilter org
units now act as limiters. This is done so that users with global
permissions won't by default result in retrieving all copy locations.
In cases where all are needed, however, they can still be retrieved by
setting the context org unit appropriately.
Bill Erickson [Mon, 12 Jul 2021 16:38:16 +0000 (12:38 -0400)]
LP1888723 Manage mode for single-copy edits notes/tags/alerts
When editing multiple items, always open the Item Alerts/Tags/Notes
dialogs in "manage" mode so users can see and edit existing values on
the edited copy.
In batch copy mode, these dialogs still only allow adding new values.
Bill Erickson [Mon, 12 Jul 2021 16:02:58 +0000 (12:02 -0400)]
LP1888723 Angular volcopy Apply All actions
Replace Save and SAve & Exit buttons in the Angular holdings editor with
'Apply All & Save' and 'Apply All, Save & Exit' buttons. With this,
staff are not required to click Apply on every change.
Bill Erickson [Wed, 3 Mar 2021 17:27:51 +0000 (12:27 -0500)]
LP1888723 Avoid defaulting CN labels for existing CN's
When a call number is loaded in the editor whose label is an empty
string, avoid applying a default values to the label so it's clear in
the UI that the call number label is blank.
When adding new call numbers to newly represented org units in the
volcopy holdings grid, ensure newly added org units are sorted
alphabetically by the org unit shortname.
Bill Erickson [Wed, 6 Jan 2021 18:10:58 +0000 (13:10 -0500)]
LP1888723 Volcopy strings should be global
Moving the <eg-string /> entries to the root of the tepmlate ensures all
references to those strings are defined / non-null. Otherwise, if the
user opts to hide a field which contained its own strings (e.g. loan
duration), the code would fail on null references, e.g.:
ERROR TypeError: Cannot read property 'text' of undefined
Bill Erickson [Tue, 5 Jan 2021 20:01:16 +0000 (15:01 -0500)]
LP1888723 Copy value counts separation
Provide a small amount of padding and light vertical border for the item
value summary counts so the counts don't blend with longer values (e.g.
long call numbers, etc.)
Bill Erickson [Mon, 28 Dec 2020 23:36:01 +0000 (18:36 -0500)]
LP1888723 Call number modification repair
Fixes an issues where modifying the call number label without modifying
any items would result in modifying the call number for all linked items
instead of the items actually loaded in the volcopy editor.
Also fixes a case where modifying call numbers failed to reflect
correctly in the catalog holdings view.
Bill Erickson [Tue, 15 Dec 2020 15:40:45 +0000 (07:40 -0800)]
LP1888723 Improve copy default status lookup
Fixes an issue where a) default copy statuses were not getting correctly
applied and b) the copy status org setting lookup was not correctly
serialized, which can lead to actor drone exhaustion on the server (see
also bug 1896285).
Bill Erickson [Mon, 14 Sep 2020 18:27:34 +0000 (14:27 -0400)]
LP1888723 Combobox avoids clearing selected for freetext
Follow-up to LP#1850547: Avoid clearing the selected item in the
combobox when selectedId is set to null in cases where freetext is
enabled and a freetext value is present.
Bill Erickson [Wed, 26 Aug 2020 22:09:11 +0000 (18:09 -0400)]
LP1888723 Angular volcopy UI mods and repairs
* Use plus/minus buttons for adding and removing vols and copies.
* Support adding multiple vols and copies via add-multi pop-over
* Support hiding the Parts column
* Move Generate Barcodes and Use Checkdigit to bottom row.
* Collapse Batch Actions row by default, state stored in preferences.
* Fix issue where loading a record with no holdings would result in a
mostly image page.
* Various display/layout repairs for showing/hiding columns
Teach the holdings grid in the staff catalog to correctly remove deleted
volumes from its tree when holding are modified in another tab.
To test, in the holding editor, modify a call number to have the same
label as another call number with the same owning org unit and save. On
the backend, this will result in one of the call numbers getting
deleted. Confirm the deleted call number no longer appears in the
holdings grid.
Jane Sandberg [Fri, 23 Jul 2021 17:15:13 +0000 (10:15 -0700)]
LP1906058: Course-term map interface only allow reasonable mappings
Different libraries will use different sets of course terms. In an
academic library context, for example, a consortium may include
libraries with very different start and end dates to their terms/semesters,
different numbers of terms/year, etc.
This commit changes the interface to only allow users to associate
a course with a term from the same library or one of its ancestors.
To test:
1. Create many courses and course terms and many different OUs.
2. On the course list, click "Terms taught". Associate some courses
and course terms. Make sure that you aren't able to associate your
course with any course terms that would not be reasonable for the
course's library.
3. Edit a course, and choose the Course terms tab. Continue to associate
courses and terms, and make sure the mappings are reasonable.
Galen Charlton [Sun, 15 Aug 2021 15:27:41 +0000 (11:27 -0400)]
LP#1905068: (follow-up) never initialize an OU ID to 1
This change has no effect on behavior, as defaultOuId's
initialization value always gets replaced with the user's
WS OU or the org root when the contructor is run, but
avoids any implication during code-reading that the top
of the OU tree can be assumed to have ID 1.
Jane Sandberg [Wed, 23 Jun 2021 23:59:51 +0000 (16:59 -0700)]
LP1905068: Add org-family-select to course list
To test:
1) Apply this patch
2) Admin > Local admin > Course reserves list
3) Check that the list defaults to courses available
at your workstation org unit
4) Check that, when you select ancestors, descendants,
or a different org unit, the course list updates
accordingly
5) Check that the list only displays org units for
which you have the MANAGE_RESERVES permission
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Add lp1923076-test-perl-scalar-return.t to the Perl live tests to test
a couple of back end calls affected by the changes in this branch.
These backend calls are those that are easily testable with Concerto
data.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Remove a block of commented code that was turned up while working on
this issue. This is in its own commit to make it easier to revert, if
necessary.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Add cast to int of scalar used on arrays in more places where it seems
necessary.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jeff Davis [Thu, 8 Apr 2021 02:41:49 +0000 (19:41 -0700)]
LP#1923076: ensure length of empty array is treated as a number when retrieving hold counts
Thanks to Jason Stephenson for suggesting this solution.
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jane Sandberg [Tue, 13 Jul 2021 03:56:01 +0000 (20:56 -0700)]
LP1935693: Add circulation modifier to course page
Also makes some strings extractable for translation that
were previously missed.
To test:
1) Enable the course materials module
2) Add some courses
3) Add some materials to those courses, using a mix of
circulation modifiers
4) In the OPAC, use the Course Search to search for
your courses
5) Click on the course you created
6) Note that physical items associated with the course
display their circulation modifiers in the circulation
modifier column.
Mike Rylander [Mon, 28 Jun 2021 19:06:26 +0000 (15:06 -0400)]
LP#1895052: Avoid foreign targets when local items exist
This commit adds a new YAOUS that allows a pickup library to specify
that it does not want its holds to have foreign (prox > 0) copies
directly targeted if there is a local copy in an available status (on
the shelf). The setting is an interval, and after the age of the hold
has passed that interval, foreign direct targetting is allowed.
This does not change the calculation of the potential list, so
op-capture will be availalbe (all else being equal) without
retargetting.
This setting (circ.pickup_hold_stalling.hard) is meant to be used in
concert with the other new setting in the parent commit
(circ.pickup_hold_stalling.soft), and should generally have a value the
same or smaller than the soft setting. Doing this allows tiered
targetting, where no remote items are targeted via the hard setting for,
say, 3 days, where all capture is restricted to only the pickup, and
then, with a soft setting of 5 days, the next 2 days allow only direct
target capture of foreign copies. After 5 days, normal, global
targetting and op-capture resumes.
An alternative use for this setting is to ignore the parent-commit soft
setting and allow op-capture everywhere, but only direct targetting at
the pickup library. The effect of this, if used globally throughout an
entire Evergreen instance, would be that the pull list would only
represent pickup-local holds, but serendipitous scans of items that
could fill remote holds could capture for transit.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: John Amundson <jamundson@cwmars.org> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
This commit provides a new YAOUS that, when set, takes precedence over
the current "soft stalling interval" YAOUS. Instead of limiting capture
to items owned by the pickup library (or the directly targeted item)
based on the context of scanned item's circulating library, it instead
restricts op capture to holds that have a pickup library of the scanning
location when the hold is younger that the interval, base on the context
of the pickup location of each hold.
tl;dr: It allows the pickup library to control op capture stalling
rather than the circulating library of an arbitrary scanned item.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: John Amundson <jamundson@cwmars.org> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Also removes the underlying component, since it's not longer used
anywhere.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Jason Etheridge <jason@EquinoxOLI.org>
Bill Erickson [Wed, 28 Jul 2021 14:17:48 +0000 (10:17 -0400)]
LP1910452 Staff catalog Patron View button
Adds a Patron View button to the Angular staff catalog record detail
page which opens the catalog in a new browser tab.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Jason Etheridge <jason@EquinoxOLI.org>
LP#1912852: add jump-on-one-hit support to Angular staff catalog
This patch add support for the opac.staff.jump_to_details_on_single_hit
library setting to the Angular staff catalog.
To test
-------
[1] Apply the patch.
[2] Ensure that the opac.staff.jump_to_details_on_single_hit setting
is off for your workstation.
[3] Perform searches using the Angular staff catalog. Verifying that
searches that return any number of results display them on the
results page.
[4] Set the library setting to true and reload the staff catalog.
[5] Perform keyword, numeric, and MARC searches using terms that
result in a single-record result set. Verify that the interface
redirects to the single-record page for that hit.
[6] Perform searches that would return zero results. Verify that
the results page indicates zero hits fuond.
[7] Perform searches that would return more than one result. Verify
that the results are displayed on the results page.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org> Signed-off-by: Jason Etheridge <jason@EquinoxOLI.org>
When a staff person tries to schedule curbside appointments
after their UTC equivalent time moves to the next day, the
timeslots for the next day are shown, and appointments get
made for the next day.
For example, when CST is the local timezone (UTC-6), after 6pm
appointments for the current day are scheduled for the next day.
Appointments for the next day get scheduled for the day after.
This happens because toISOString is used to grab the current date,
but toISOString always returns UTC time. The date widget will show
the correct date, but the time slots will actually be for the next
day. This is more noticeable if days have different schedules.
Another clue is that the time slot selector will show all timeslots for
the day, not just the ones that are upcoming.
Testing Plan:
1. Enable curbside for test location, and set org unit hours to
be at least through 8pm for open hours.
2. Wait until after 4PM (Pacific), 6pm CST, 7PM EST, or
change your computer clock.
3. Try to schedule an appointment for the current day.
4. The appointment should get scheduled for the next day.
5. Apply the fix.
6. Try to schedule another appointment and see that the correct
date gets selected.
Jason Boyer [Sat, 10 Nov 2018 22:53:16 +0000 (17:53 -0500)]
LP1802682: Use Default Net Access Level OUS
This branch does two things: makes use of the OUS
that determines the default Net Access Level, and
also changes the type of the coust entry to make
using it more user friendly.
Terran McCanna [Thu, 22 Oct 2020 22:05:37 +0000 (18:05 -0400)]
LP1901028 Print Template for Checkout Missing Fields
The fields are actually available, but the hints in the template
were incorrect. This fixes the hints for call number, owning library
name, owning library short name, and circulation modifier.
This patch makes the form in the self-registration screen in the Bootstrap
opac a little responsive on smaller devices.
To test.
1. Turn on self-registration in the library settings.
2. Go to the self-registration screen and make the screen as small as possible.
3. Apply the patch.
4. Notice that the form labels and input boxes are now more aesthetic.
5. Create some self-registration requests to make sure the form captures the data.
Bill Erickson [Tue, 13 Apr 2021 17:05:18 +0000 (13:05 -0400)]
LP1923640 Manage visibility of grid action menu entries
Adds a new Angular Grid configuration menu entry labeled "Manage Actions
Menu", which launches a new dialog which allows staff to show/hide
individual entries in the grid toolbar actions menu / context menu.
The new menu action is disabled when a grid has no toolbar actions.
Garry Collum [Thu, 27 May 2021 17:49:00 +0000 (13:49 -0400)]
LP1929839 Load Shared Bucket text error
Changes the title of the Load Shared Bucket pop-up box from "Load Shared
Bucket Bucket by ID" to "Load Shared Bucket by ID". I decided not to
change it to "Load Shared Bucket by Bucket ID" since "Bucket ID" is
displayed next to the input field.
This affects all 3 types of buckets: item, record and user.
Jason Boyer [Mon, 28 Jan 2019 15:22:01 +0000 (10:22 -0500)]
LP1813191: Add a Dewey Classification View to acn
The most-missed part of the Classic Item View in the
reporter are the dewey ranges and blocks. This branch
pulls those out into their own view and hangs it off
of a link from asset.call_number so they can be used
in reports from any path that connects to acn.
Galen Charlton [Tue, 1 Jun 2021 22:23:36 +0000 (18:23 -0400)]
LP#1904244: format: switch from CurrencyPipe to DecimalPipe
CurrencyPipe has no easy way of displaying the monetary amount
without a currency symbol, which means that currency amounts
display with a dollar sign -- which isn't a univeral assumption
for Evergreen.
Future work is indicated to (a) teach Evergreen a global flag
or a library setting for the system's base currency and (b) let
the format service be passed a currency code. Once both are in place,
CurrencyPipe can be restored.
This is a synonym of the 'required' attribute, as overloading
the HTML5 required attribute can lead the colored left border
indicated the state of the widget extending to the container
of the combobox.