Jeff Davis [Mon, 26 Apr 2021 21:33:51 +0000 (14:33 -0700)]
LP#1923225: clean up some double-escaping of HTML in record display
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
LP#1923225: have search highlighting stored procedure do HTML-escaping
This patch builds on the previous work to have the stored procedures
that produced highlighted and unhighlighted versions of display
attributes HTML-escape the source values, then adjusts the TPAC
and Bootstrap templates to avoid double-escaping.
Dan Briem [Fri, 9 Apr 2021 22:19:02 +0000 (18:19 -0400)]
LP#1918362 Unchanged workstation settings applied on every checkin
* Stop attempting to save the Update Inventory setting on every
checkin - incorrect prefix & redundant (it's a modifier now)
* Stop saving the Strict Barcode setting on every checkin,
renewal, and checkout
* Save Strict Barcode on user interaction with its checkbox
To test:
1. confirm Strict Barcode and Do Inventory Update settings still
apply and are "sticky" on the Circulation->Checkin interface
2. confirm Strict Barcode still applies and is "sticky" on the
Circulation->Renew Items and Circulation->Checkout interfaces
Signed-off-by: Dan Briem <dbriem@wlsmail.org> Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Conflicts:
Open-ILS/web/js/ui/default/staff/circ/checkin/app.js Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
When available, the preferred name is used as the main name in the
patron summary (rather than as a less-prominent field beneath the main
name). The legal name is displayed further down in the summary, just
after the ID fields.
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Jeff Davis [Mon, 9 Nov 2020 23:17:07 +0000 (15:17 -0800)]
LP#1902965: change format type in XML transform to avoid XSS in SuperCat
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Jeff Davis [Mon, 9 Nov 2020 21:59:59 +0000 (13:59 -0800)]
LP#1902965: HTML filter on OPAC search results and record display
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Jane Sandberg [Wed, 10 Feb 2021 19:51:55 +0000 (11:51 -0800)]
LP1873322: Angular Admin Pages default to workstation OU
To test:
1) Apply this patch.
2) Log in using a workstation at a particular org unit.
3) Open some of the following admin pages:
Local Admin > Address Alerts
Local Admin > Carousels
Local Admin > Group Penalty Thresholds
Local Admin > Course Reserves List > Terms Tab
Server Admin > Billing Types
Server Admin > Call Number/Volume Suffixes
Server Admin > Copy Tags
Server Admin > Hard Due Date Configuration
Acquisitions Admin > Cancel Reason Configuration
Acquisitions Admin > Claim Policies
Booking Admin > Resource Types
Booking Admin > Resource Attribute Values
4) Verify that these pages automatically open to your
workstation's org unit.
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
Jason Boyer [Fri, 12 Mar 2021 19:10:19 +0000 (14:10 -0500)]
Revert the effects of both LP1687545 and LP1914116
Revert "LP1687545: Force TT CGI plugin to use ampersands in query strings"
and "LP1914116: Apply html filter to mkurl() output"
until a fix for LP1918470 is available.
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
When the authtoken received from the client is the unquoted literal
string "null" in a pcrud request, the drone processing the request
will crash with a segmentation fault as the session verification code
passes a NULL pointer to strcmp.
To reproduce this bug, make the following request via srfsh:
After patching Evergreen with this commit, repeat the srfsh request
again. This time, the call should return almost immediately with an
osrfMethodException: "permacrud received a bad auth token: (null)."
When you grep syslog for segfault this time, you should find no new
occurrences.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Jason Stephenson <jason@sigio.com>
Mike Rylander [Fri, 14 Aug 2020 19:35:10 +0000 (15:35 -0400)]
LP#1858114: Fix thinko in template-parameter collection
Minor thinko in the use of Array.prototype.concat() when gathering the
"where" and "having" template parameters -- concat() does not alter the
array it is called on, so we need to assign the result back to the
array.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org> Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
Mike Rylander [Fri, 14 Aug 2020 14:35:06 +0000 (10:35 -0400)]
LP#1858114: Record template filter values for aggregate columns
Currently the "having" clause does not record template-level filter
values in the template, but forces use of a report-level parameter.
This commit allows "having" to receive a value in the same way that
"where" does.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org> Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
Mike Rylander [Thu, 13 Aug 2020 17:05:19 +0000 (13:05 -0400)]
LP#1858114: Present proper input widget for aggregate parameters
There's currently logic to override the filter widget for all columns
that have a selector defined, such as the ID column of many tables. When
we transform the column with an aggregate transform, though, we don't want
to pick a particular selector-labeled value.
While I can imagine using a min or max aggregate to get a representative
value for a group, when other dependent filters would make the value
stable or where the value in particular doesn't matter but isn't needed
in a count (say), all the other aggregate transforms that are currently
supported are specifically numeric (sum, average, count, and
count_distinct). Because of that, and the most likely use case of
matching a count to "0" or "1", we should only present the "remote
object widget" for non-aggregates, and just use the baseline text string
input here.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Angela Kilsdonk <akilsdonk@equinoxinitiative.org> Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
Previous to this commit, the item display order for carousels was
undefined. Now, ordering is stable and predictable.
For Newly Cataloged Item and Newest Items by Shelving Location
carousels, the order is from most recently cataloged to least
recently cataloged.
For Recently Returned Item carousels, the order is from most recently
returned to least recently returned.
For Top Circulated Items carousels, the order is from most circulated
to least circulated.
For Manual carousels (as of now, without the ability to adjust the
Position of items) it is the order they are added to the backing bucket.
Thus emptying and refilling the bucket allows reordering.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
Mike Rylander [Thu, 30 Jul 2020 15:48:46 +0000 (11:48 -0400)]
LP#1772955: Only include xacts with balance in summary
This commit adds a new view and IDL definition that shows the total
owed/paid/balance for transactions that have a balance other than 0.
This new view is used in the patron summary bar, and access is provided
wherever the all-open-transactions version is available in case we want
to move to the new one elsewhere.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Ruth Frasur <rfrasur@library.in.gov> Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
Zavier Banks [Thu, 5 Mar 2020 16:19:49 +0000 (16:19 +0000)]
LP1670457 Action Menu Grid Selection Change
I reworked the grid to disable certain actions, if
an item was needed. However, if there were actions, were
there was no item needed, they would still be available.
Bill Erickson [Mon, 14 Sep 2020 14:52:05 +0000 (10:52 -0400)]
LP1468132 MARC search honors search scope
Adds a 'Results from All Libraries' checkbox to the MARC search form in
the Angular staff catalog. When unchecked, the MARC search will limit
to results with holdings in the search scope.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
Bill Erickson [Mon, 14 Sep 2020 15:33:45 +0000 (11:33 -0400)]
LP1468132 Staff MARC Search API supports copy filtering
Teaches the MARC search code to filter results on records with items
attached (though not necessarily opac-visible) for scoped staff
searches. Prior to this patch, the scope of staff searches was
effectively ignored.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
Jason Boyer [Mon, 8 Feb 2021 19:20:32 +0000 (14:20 -0500)]
LP1914116: Apply html filter to mkurl() output
Because of the way that mkurl() generates its query parameters they're
generally escaped correctly, but nowhere do we run the output of mkurl()
through the html filter to correctly handle ampersands. Rather than adding
"|html" to every invocation of mkurl, it's just added to the macro directly.
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org> Signed-off-by: Garry Collum <gcollum@gmail.com>
Lp 1913219: Use window.open for staff catalog edit link
To avoid the "Scripts may close only the windows that were opened by
them" console message in Chrome 88, and a similar message in Firefox
84, when clicking "Save & Exit" in the Volume/Copy editor of the
AngularJS staff client after opening it via the "edit" link in the
copy table of the TT OPAC record summary, we use an onclick handler
with window.open instead of a standard href in the edit anchor.
Garry Collum [Mon, 14 Dec 2020 17:48:13 +0000 (12:48 -0500)]
LP1906858 Carousels Ignore Deleted Flag
Adds logic to look for the copy deleted flag in the carousel queries.
To test in concerto, it is easiest to create one item on three or four bibs
and assign the same org unit and location code to these items.
Check the items in. Check the items out, and then check them back in at their home OU.
Create 4 carousels. Newly Catalogued Items, Recently Returned Items, Top Circulated Items, and Newest Items by Shelving Location.
Make sure the carousels pull from the item library for which the items belong,
and set the owner to CONS. Select and add the correct shelving location.
Refresh the carousels. In the edit dialog box of each carousel, you can click the Link to bucket link to see the titles in the bucket.
Delete one of the items. Refresh the carousels once more and notice that the deleted title still appears.
Apply the patch.
Refresh the carousels, and the delete item should now be gone.
Signed-off-by: Garry Collum <gcollum@gmail.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Mon, 1 Feb 2021 15:54:18 +0000 (10:54 -0500)]
LP1913811 Items out notice summary API batching
Tweak the open-ils.actor.user.itemsout.notices API to accept an array of
circulation IDs so the call can be batched from the client. Similarly
modify the AngJS client to request the notice summaries in batch.
Further improves the notices API by removing an unneeded join and a
minor security fix to verify perms based on the in-database user ID
instead of the ID provided by the caller (w/ the note that the API only
returns numbers, not user data).
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Garry Collum [Thu, 17 Dec 2020 18:47:41 +0000 (13:47 -0500)]
LP1868147-Titles in carousel run together in mobile display.
This patch uses the breakpoint option available in glide.js to limit the number of images in the carousel that display.
If a screen's width is set between 768-992 pixels, 3 images display in the carousel,
if the width is below 768 pixels, only 2 images display in the carousel.
The reduction of images helps with titles overlapping each other.
To test:
Apply the patch to an instance of Evergreen that displays carousels.
Reduce the screen size of the browser. Eventually the carousel will display 3 and then 2 images.
Signed-off-by: Garry Collum <gcollum@gmail.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jeff Davis [Fri, 18 Dec 2020 00:43:15 +0000 (16:43 -0800)]
LP#1896285: progress dialog when marking selected items as missing
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: blake <blake@mobiusconsortium.org>
Bill Erickson [Wed, 2 Dec 2020 21:52:47 +0000 (13:52 -0800)]
LP1896285 Patron search add to bucket serialize
Add a batch of patrons to a bucket one patron at a time to avoid
overwhelming the server with bucket item create requests and potentially
exhausing the open-ils.actor service.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Mon, 11 Jan 2021 16:33:56 +0000 (11:33 -0500)]
LP1901760 Remove SharedWorker testing cruft
Otherwise they will work for no one!
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: John Amundson <jamundson@cwmars.org>
Reject requests to SharedWorker resources when shared workers are not
supported. The caller is required to handle the rejection in whatever
way makes sense for the calling code.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: John Amundson <jamundson@cwmars.org>
Force the SharedWorker code to run before org settings cache requests
are attempted so that we can tell before the lovefield request is made
wether or not a connection will be successfull. In other words, we may
not know if cannotConnect is true yet, so force that logic to run first.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: John Amundson <jamundson@cwmars.org>
Jason Boyer [Thu, 21 Jan 2021 16:08:36 +0000 (11:08 -0500)]
LP1687545: Force TT CGI plugin to use ampersands in query strings
Change our already-forked version of TemplateToolkit::Plugin::CGI
to use "old" style urls which became the new / only style after
CGI.pm was deprecated. This causes the query_strings property to
consistently use ampersands to separate query parameters.
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org> Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Dan Briem [Wed, 18 Nov 2020 21:50:06 +0000 (16:50 -0500)]
LP#1778522 Precat item creation should be more intentional
Precat items can be created before all of the info is entered.
The dialog autofocuses the title field, so a double barcode scan
will populate the title field and createt the precat without
giving an opportunity to fill in the other fields.
This prevents form submission unless you click the Precat
Checkout button.
To test:
1. Try to check out a barcode that doesn't exist to any patron
2. On the precat dialog, enter a value into the title field
3. Note the precat is created
4. Apply patch
5. Repeat steps 1-3 and note the precat isn't created until
the Precat Checkout button is clicked
Signed-off-by: Dan Briem <dbriem@wlsmail.org> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Dan Briem [Fri, 17 Jul 2020 20:09:54 +0000 (16:09 -0400)]
LP#1887852 Pending patron passwords aren't initially set to phone #
If a patron self registers with a phone # and the org unit
setting to use the phone for the password is true, when the
pending patron stage loads the password is initially random
instead of the last 4 digits of the phone #.
This branch sets the password to the last 4 digits of the phone
when the patron stage loads if the phone is set and the org
unit setting to use the phone # for the password is true.
To test:
1. Set org unit settings for allow patron self-registration and
show day_phone on registration to true
2. Go to the OPAC and request a library card (include phone #)
3. Login to the staff client, Circulation->Pending Patrons and
load the patron
4. Note the password is random
5. Load patch and repeat steps 3-4
6. Note the password is the last 4 digits of the phone #
Signed-off-by: Dan Briem <dbriem@wlsmail.org> Signed-off-by: Mike Risher <mrisher@catalyte.io> Signed-off-by: Jason Stephenson <jason@sigio.com>
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>