Jason Boyer [Fri, 13 Nov 2020 16:12:22 +0000 (11:12 -0500)]
LP1904220: Fix Booking Service Check
Instead of trying to tell AppService which router we want to talk
to and confusing it, just tell it we want to talk to a router and
let it do its thing.
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
An early return statement in extract_hold_notify() was removed
in 7e92293 and added back in ddf5b4b3, so props set at the end
of that function used in future comparisons never get set.
This re-removes the return statement and sets the local notify
variable to default string values so the rest of the function
can play out.
To test:
1. Set org unit setting: "Patron: password from phone #" to TRUE
at the top context location
2. Circulation->Register Patron
3. Type 123-456-7890 into the Daytime Phone field and press tab
4. Note: the password field isn't updated to the last 4 digits
5. Apply patch and repeat steps
6. Note: the password field updates to the last 4 digits
Signed-off-by: Dan Briem <dbriem@wlsmail.org> Signed-off-by: Garry Collum <gcollum@gmail.com>
Mike Rylander [Tue, 10 Dec 2019 22:17:38 +0000 (17:17 -0500)]
LP#1508208: Only look at holds that age protection allows
When hold capture is attempted, we look at (currently) the first 100
holds ordered by Best Hold Sort Selection Order. If a very long list
of holds are targetting an age-protected item then op capture may not
have a chance to see a viable hold for that copy.
This commit attempts to take into account the age protection currently
set for the copy by restricting the holds to just those where the
hold-copy-map proximity is less than or equal to the maximum proximity
allowed by the age protection. This works now because we store the
hold proximity in the hold copy map, where we did not before.
Being based on the hold-copy-map proximity, which is calculated
proximity, means this is an approximation and the final hold capture
logic may still reject some holds for the copy. Likewise, this does
not entirely eliminate the possibility that there may be a better hold
to capture the copy for if the in-range set of holds is very, very
long, but this should allow hold capture to proceed if even
imperfectly.
If no age protection is set for the copy, the current behavior
(looking at all holds) is maintained.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Remington Steed [Tue, 15 May 2018 13:46:41 +0000 (09:46 -0400)]
LP#1325704: Update Items-Out YAOUS descrip for web client
Three settings refer to the "top" and "bottom" lists on the XUL client
Items Out screen. With the web client, these have become three named
tabs. This commit updates the setting descriptions in the seed data so
they reflect the new design. I also attempted to make the meaning of the
values more clear by labeling the two subsettings as "A" and "B".
Unique indexes on nullable columns will allow multiple conceptually
unique rows if the nullable columns are, in fact, NULL because NULL does
not equal itself. This commit uses COALESCE to make sure that the
nullable email column in the reporter.schedule table gets a value of the
empty string for the purposes of the unique index. The upgrade script
now also takes this into account and ignores the email column.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Mon, 9 Dec 2019 16:47:30 +0000 (11:47 -0500)]
LP1855737 Don't send error object across shared worker port
Data must be string-ifiable to pass across a shared web worker message
port. In Firefox, at least, errors encountered during IndexedDB /
Lovefield operations are not candidates for automatic stringification.
Avoid trying to send the error object back to the caller.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jason Boyer [Wed, 14 Oct 2020 16:11:27 +0000 (12:11 -0400)]
LP1882828: (follow-up) Add static parameter to ViewChild decorator
While not strictly required in rel_3_6 and above, rel_3_5 uses
a version of Angular that requires specifying a value for the
static parameter when using the ViewChild decorator on an object.
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Jason Boyer [Fri, 28 Aug 2020 21:13:14 +0000 (17:13 -0400)]
LP1893463: Prevent duplicated report outputs
When re-running recurring reports that are interrupted,
it's possible to end up with a duplicate copy of the next
recurrance of that report. This branch adds a unique index
to reporter.schedule and tells clark-kent.pl not to worry
about it.
For the purposes of this change a duplicate report is
one where report.schedule has identical values for report,
(output) folder, runner, run_time, and email.
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Fri, 8 Nov 2019 22:09:03 +0000 (17:09 -0500)]
LP1851882 Relase Notes (Angular catalog hold types)
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jennifer Weston <jennifer.weston@equinoxinitiative.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Fri, 8 Nov 2019 22:02:48 +0000 (17:02 -0500)]
LP1851882 Angular catalog recall/force/part holds
Adds entry points for placing Recall, Force, and Part-level holds.
For any item-level hold type, the user now has the option to cycle
between Item, Recall, and Force hold types. The selected type affects
the full batch of holds.
For title-level holds, the user now has the option to select a part as
the hold target for each hold in the list. Part selection is optional.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jennifer Weston <jennifer.weston@equinoxinitiative.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Thu, 30 Jul 2020 16:23:15 +0000 (12:23 -0400)]
LP1872867 Staff catalog filters use search labels
The Angular staff catalog now displays the search_label value for all of
the coded-value-map filters (search format, item type, etc.) when
available. It falls back to the 'value' field when no search_label exists.
If a value is not opac_visible, the text "(Hidden)" is appended to the
label.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Elaine Hardy <ehardy@georgialibraries.org>
The tcn_source for some records is an empty string, instead of the database
default of 'AUTOGEN', because the Perl record import code avoids a Perl warning
in the logger info call by setting the value to an empty string if it can't
find any other source (e.g. OCLC number). Unfortunately, the empty string then
gets passed to the database, meaning that it satisfies the non-NULL constraint
and does not invoke the default value of 'AUTOGEN'.
The resulting MARCXML then contains an empty, self-closing 901 $b subfield
(<subfield code="b"/>) that causes an error for some other applications, such
as Zotero, which do not anticipate empty subfields.
The simple fix applied here is to follow the example for $source and $tcn of
not setting the value of the tcn_source field in the bib record object if the
corresponding variable evaluates to false (such as if it's an empty string).
To test: create a basic record in the MARC editor that includes minimal fields
(for example, a 100 and 245) so that it has no TCN source to extract. Check the
MARCXML served up by SuperCat ("curl
http://<hostname>/opac/extras/supercat/retrieve/marcxml-uris/record/<bib-id>").
Before this patch, it will have a self-closing 901 $b subfield. After applying
this patch and creating a new test record, the new test record will have a
901$b subfield with the value 'AUTOGEN'.
A site that has been running without this patch for a long time might want to
check how many bib records they have with an empty tcn_source:
SELECT COUNT(*) FROM biblio.record_entry WHERE deleted IS FALSE AND tcn_source = '';
Sites can fix the problem by issuing UPDATE statements to set the 901$b to a value
like 'AUTOGEN' or 'Unknown'. They should probably do it per-record, however, to
avoid locking the table in a huge commit.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jane Sandberg [Tue, 9 Jun 2020 20:51:24 +0000 (13:51 -0700)]
LP1882825: Add setting for booking pull list grid
Steps to test:
[1] Go to the Booking Pull List.
[2] Change the grid around and try to save.
[3] Note in your browser console an error message: "Error saving columns: No user or workstation setting type exists for eg.grid.booking.pull_list"
[4] Run the database migration included in this commit.
[5] Repeat steps 1-2.
[6] Note that no error message appears.
[7] Try exiting Evergreen and coming back (using the same workstation). Note that your changes to the grid have stuck!
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Dan Briem [Tue, 25 Aug 2020 19:47:15 +0000 (15:47 -0400)]
LP#1361270 Self-registration doesn't retain org unit on refresh
This sets the self-registration form's org unit selector to the
the current org unit request parameter if it's set and self-
registration is allowed for that org unit. This will preopulate
the org selector on refresh or error instead of resetting to the
default context.
To test:
1. Administration->Local Administration->Library Settings Editor
set Allow Patron Self-Registration to True (top context)
2. go to OPAC->Request Library Card (stock link is on bottom)
3. select a Home Library and click Submit Registration
4. note the Home Library select doesn't retain your selection
5. apply this fix and repeat steps
6. note the Home Library is retained
Signed-off-by: Dan Briem <dbriem@wlsmail.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Wed, 10 Jun 2020 15:46:39 +0000 (11:46 -0400)]
LP1883126 Angular accesskey sort repair
Fixes sorting issue in Angular egAccessKey directive to ensure that the
most recent additions are given highest priority and to ensure that
like keys (same action) are sorted next to each other in the control-h
help dialog.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Chris Sharp [Tue, 21 Aug 2018 18:22:05 +0000 (14:22 -0400)]
LP#1788260 - Break out in-house-use non-cat circulations.
Previously, all non-cataloged circulations were grouped
together, causing problems for libraries who need to
exclude in-house circulations from circ counts.
Some code, including UI rendering code in the reporting interfaces,
assumes that the order of the full_path stored procedure will be the
same as for the ancestors and descendants procedures, which is tree
order from top to bottom. However, because the full_path procedure
simply UNIONs the other two together without an explicit ORDER BY,
that may not be -- and for org hierarchies that have been modified
heavily, often is not -- the case in practice. This is due to
internals of query planning in Postgres.
The easiest place to see this issues is in the report interface.
Select a template folder that is not currently shared, choose Manage
Folder, select Share Folder, click Go, and see the dropdown of options.
Under some circumstances, the list of org units in the dropdown there
are incorrectly ordered (should be from top of the tree down), and some
that should be available are disabled.
This commit uses the org unit type depth to order the output as assumed.
Tiffany Little [Fri, 1 Mar 2019 19:00:59 +0000 (14:00 -0500)]
LP#1418694 Change wording for saving to selection list
Changes label in line item table Actions menu for 'Save to Selection List' to 'Move to Selection List' to better reflect action taken.
Signed-off-by: Tiffany Little <tlittle@georgialibraries.org> Signed-off-by: Mary Llewellyn <mllewell@biblio.org> Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Mike Risher [Tue, 24 Mar 2020 16:40:02 +0000 (16:40 +0000)]
lp1362743 holdings view duplicate barcodes
Modify holdings view's "replace barcodes" UI so that it doesn't allow one
to enter a duplicate barcode.
Signed-off-by: Mike Risher <mrisher@catalyte.io>
Changes to be committed:
modified: Open-ILS/src/templates/staff/cat/share/t_replace_barcode.tt2
modified: Open-ILS/web/js/ui/default/staff/cat/catalog/app.js
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Jeff Davis [Fri, 22 May 2020 22:40:30 +0000 (15:40 -0700)]
LP#1879993: use default value for opac.hold_notify when appropriate
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Fri, 21 Aug 2020 15:14:02 +0000 (11:14 -0400)]
LP1891355 Perm group refresh after changes
Fixes an issue where the permission group interface failed to refresh
the page after an edit and data refetch was performed. At issue was a
progress component which was not rendered/active at the time of refresh,
leading to a JS error, causeing the refresh to stop.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Mon, 27 Jul 2020 18:21:09 +0000 (14:21 -0400)]
LP1889113 Staff catalog record holds sticky org select
Teaches the record holds grid to use a persistkey for making the pickup
lib selector sticky. Additionaly, teach the holds retrieval code to
wait until the org select has settled on a value before collecting any
data.
Also adds the new workstation setting type
'eg.orgselect.cat.catalog.wide_holds'
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Bill Erickson [Mon, 27 Jul 2020 18:20:52 +0000 (14:20 -0400)]
LP1889113 Angular org select persistKey support
* Support reading and writing org-select values using server settings.
* Adds a new @Input fallbackOrg[Id] which is used in cases where no
persisted value is found.
* Adds a new @Otput called componentLoaded which fires once when the
selector has completed all of it's load time work.
* Improvid code documentation.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Bill Erickson [Thu, 16 Jul 2020 18:27:34 +0000 (14:27 -0400)]
LP1865564 Clear holds cache after Request Items
When staff place holds on a record within the Holdings View via the
Request Items function, reset the holds grid data so it bypasses the
cache and refetches the holds, including the new holds.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Thu, 16 Jul 2020 16:22:52 +0000 (12:22 -0400)]
LP1865564 Holds grid avoid dupes (AngularJS)
Address a couple if cases where the record holds grid in the AngularJS
staff catalog would make multiple network calls to fetch holds data.
In some cases, these calls would result displaying duplicate holds.
1. Avoid fetching holds when the pickup lib selector fires its on change
if the value provided matches the pickup lib we are already using.
2. Avoid reseting and reloading the grid during an active grid load.
Instead wait for the current load to complete before launching the next
load action.
Patch also includes a minor sanity check in the holdings code to avoid
console errors caused during pickup lib change.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
LP#1844732 Circulation Modifier Display when Batch Editing Items
Fixes the circulation modifiers multivalue list when editing items with
more than one circulation modifier.
To test in with the concerto data, go to Server Administrator ->
Circulation Modifiers and create a couple of circ modifiers (kittens,
puppies).
Bring up the holdings view of a bib and edit a few items assigning these
items to each of the circ modifiers.
After assigning circ modifiers to several items, bring up some of these
items into the item editor making sure that you have chosen items that
have both circ modifiers.
View the multiple values for the circ modifiers. It will display
something like 'No (10)'.
Apply the patch. Bring up the items again and view the multiple values.
The circ modifiers will be listed indivitually with a number
representing the number of items with that circ modifier.
Bill Erickson [Mon, 23 Sep 2019 21:17:13 +0000 (17:17 -0400)]
LP1845047 Ignore grid page size pref when paging disabled
Ignore any saved value for page size on grids configured with paging
disabled. Such grids are required to show all rows or any data past the
first page would be innaccessible.
Bill Erickson [Mon, 10 Aug 2020 19:19:51 +0000 (15:19 -0400)]
LP1850825 Vandely export set default record source
Provide a default value for the record ID source (csv, id, bucket) in
the Vandelay record export interface. Without this, a record source was
only specified if the source value was modified. Defaults to 'csv'.
Bill Erickson [Tue, 11 Aug 2020 15:07:04 +0000 (11:07 -0400)]
LP1839562 Ang Vandelay Match Set Replace Mode
Recover "Replace Mode" functionality in the Vandelay Match Set editor
interface, so existing nodes (e.g. And) may be replaced with other nodes
(e.g. Or) without modifying the rest of the tree structure.
Values (Record Attrs / MARC Fields) can replace other values. Booleans
can replace any type of tree node.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Mary Llewellyn <mllewell@biblio.org> Signed-off-by: Christine Morgan <cmorgan@noblenet.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Risher [Fri, 19 Jun 2020 20:00:04 +0000 (20:00 +0000)]
lp1801947 eg-help-popover accessibility
Modify the eg-help-popover directive so that it can be invoked via
a keyboard action.
Signed-off-by: Mike Risher <mrisher@catalyte.io>
Changes to be committed:
modified: Open-ILS/src/templates/staff/css/style.css.tt2
modified: Open-ILS/src/templates/staff/share/t_help_popover.tt2
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
On the offline circulation interface adjust the orgs so that they're
sorted alphabetically. Preserve the org hierarchy.
Signed-off-by: Mike Risher <mrisher@catalyte.io>
Changes to be committed:
modified: Open-ILS/web/js/ui/default/staff/services/env.js
modified: Open-ILS/web/js/ui/default/staff/services/lovefield.js
Bill Erickson [Thu, 30 Jul 2020 19:29:08 +0000 (15:29 -0400)]
LP1889685 Staff catalog record CN browse retains search
Using the Shelf Browse tab on the record detail page in the Angular
staff catalog no longer clobbers the active search, allowing the search
navigation buttons (Next, Previous, etc.) to continue working.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Risher [Fri, 12 Jun 2020 22:17:44 +0000 (22:17 +0000)]
LP#1207744: fix display of duplicate results when viewing report folders
When you repeatedly click the link to display a template, report, or
output folder on the reports UI, the contents of that folder can
display multiple times. This patch addresses this bug and prevents
duplicate contents from displaying.
- Change the button text from "Search" to "Search Catalog"
- adjust the styling on the AngularJS side to cuddle the
button with the search input
- standardize the placeholder text as "Search for..."
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
LP#1889251: make call number affix sort keys read-only
This patch makes the call number prefix and suffix label sort
key fields read-only on their respective Server Administration
pages, as any values that a user would try to set for them
would get overwritten by a database trigger.
To test
-------
[1] Apply the patch.
[2] Go to Server Administration -> Call Number Prefixes (or Suffixes)
and attempt create and edit new affixes.
[3] Verify that the label sort key is a read-only display field on the
edit modal.
Josh Stompro [Mon, 4 Mar 2019 17:16:56 +0000 (11:16 -0600)]
LP#1674364 - Use database bib id for cover art lookup
Export the 901c as the URN:BIBID identifier to allow the
ATOM2XHTML.xsl to construct a cover art img link using it.
Testing Notes:
I used a bookbag to test this out.
1. Create a public bookbag of items and grab the bookbag id.
2. View the source of these links on your system to see the current output.
/opac/extras/feed/bookbag/atom/<bookbagid>
/opac/extras/feed/bookbag/html-full/<bookbagid>
Make note that the jacket img link uses the ISBN to lookup cover art.
Make changes.
1. Restart supercat to re-load xsl transfor files.
osrf_control -l --service open-ils.supercat --restart
2. View the source and output of these links on your system to see the changes.
/opac/extras/feed/bookbag/atom/<bookbagid>
/opac/extras/feed/bookbag/html-full/<bookbagid>
The cover art images should show up now in the html-full, and the
URN:BIBID: identifier should be populated in the atom file.
a. bellenir [Thu, 28 Mar 2019 16:26:37 +0000 (12:26 -0400)]
LP1761142 Volume Copy Editor Changed Fields Hard to Discern
Add a changed_fields object to the scope and update it as copies are
changed. The function field_changed(field) determines if any of the
selected copies have altered the given field. finally, a CSS class,
field-changed, is applied to add a green border to fields whose values
have been modified.
Josh Stompro [Tue, 28 Jan 2020 16:04:02 +0000 (10:04 -0600)]
LP#1783793 - Suspend holds when activation date set in web client angularjs
1. Modify Dates popup changed to not allow picking dates in the past for hold
activation date both in the date picker, and if typed in manually. If a
date in the past is typed in, it is changed to today's date and an alert
message is displayed. The date picker just won't allow past days to be
selected. The alert message remains until a date in the future is selected.
2. Suspend holds when the activation date is set and saved.
3. Adds a note about the fact that the hold will be suspended when the hold
activation date is selected for editing. This makes the behavior clear so
staff don't have to figure it out by trial and error.
4. Updates several sr-only (Screen Reader Only) labels in the holds date popup
template that were set to the wrong values. The file was copied from the hold
notification popup and the screen reader descriptions were left unchanged from
those values.
Jeff Davis [Tue, 8 Oct 2019 23:00:12 +0000 (16:00 -0700)]
LP#1847343: fix Exclude Electronic Resources checkbox when locale picker is enabled
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Changes 'publicly visible' label on buckets and also adds a tooltip with an explanation. Also makes sure that clicking the tooltip does not check the checkbox automatically.
Signed-off-by: Tiffany Little <tlittle@georgialibraries.org> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Jason Boyer [Fri, 31 Jul 2020 15:10:24 +0000 (11:10 -0400)]
LP1842431: Remove redundant description field
This branch brings about a good change, but I think having reason
and description be identical in the case of a failure and blank /
'SUCCESS' in the case of, well, success, is redundant and potentially
confusing. Also, if it's not used in the default template I doubt
anyone ever realizes it's there. :) Template editors can use
is_renewed to decide if they want to display success as a result
and that way the capitalization won't look like THE EIGHTIES have come
back in fashion again. :D
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
LP#1842431 Split textcode and desc fields for AutoRenew user data
Split the event textcode and desc fields into textcode and description
fields, respectively, in the AutoRenew reactor's user data, but also
leave the reason field alone. This permits sites to show only the
description of the event if they want.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Michele Morgan [Thu, 12 Sep 2019 20:30:47 +0000 (16:30 -0400)]
LP#1842431 Make renewal failure reason more appropriate for patron notifications
Changes the failure reason for the autorenewal to include only the desc,
Removes the textcode of the event, which shouldn't be included in a patron notice.
Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>