* Indicate in the UI when grid filters are applied via URL and offer a
way for the user to clear the filters.
* When grid filters are applied, use them as the basis for the "Default
New Record" object which seeds the fm-editor. In other words, apply
default values to the fm-editor to match the grid filters.
* Repair some IDL thinkos and add more 'selector' values.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jeff Davis [Tue, 5 May 2020 21:37:05 +0000 (14:37 -0700)]
LP#1847800: secondary admin pages for Authority Control Sets and Authority Thesauri
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jeff Davis [Tue, 5 May 2020 21:11:41 +0000 (14:11 -0700)]
LP#1847800 / LP#1847810: secondary admin pages: MARC Search/Facet Fields -> virtual index definitions
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jeff Davis [Tue, 5 May 2020 19:16:37 +0000 (12:16 -0700)]
LP#1847800 / LP#1847781: secondary admin pages for MARC Import Remove Fields
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Wed, 29 Apr 2020 21:27:23 +0000 (17:27 -0400)]
LP1847800 Admin grids support config_field links
For IDL fields which have config_field=true, the value in the admin grid
is rendered as a link to the grid for the linked field. Additionally,
the link contains a gridFilter so the destination grid only displays
rows related to the selected field.
Adds config_field=true values for z39.50 source and two links for hard
due date and hard due date values.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jeff Davis [Wed, 18 Dec 2019 00:06:19 +0000 (16:06 -0800)]
LP#1847800 / LP#1834687: secondary admin pages: config_field attribute in IDL
Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Thu, 22 Aug 2019 14:12:53 +0000 (10:12 -0400)]
LP1837656 Org proximity admin disable org filter
Disable the org unit filter for the auto-generated org unit proximity
adjustment admin page so that it does not automatically filter the grid by
any of the org unit fields.
Modify the IDL to indicate that the 'pos' field on the org unit
proximity adjustement class is required.
To test:
1. Navigate to
/eg2/en-US/staff/admin/server/actor/org_unit_proximity_adjustment
2. Create an adjustment if non exist.
3. Confirm the 'Position' field is now required.
4. Confirm new adjusment row appears in the grid after it's created.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Jeff Davis [Thu, 30 Apr 2020 17:36:44 +0000 (10:36 -0700)]
LP#1873048: add scoped retrieve perms for booking resource types and resources
In the XUL client, when selecting a resource type, the list was limited
by owning library. But in the web client, the list would show all
resource types across all libraries. This commit addresses that
regression by adding a new VIEW_BOOKING_RESOURCE_TYPE permission with
context_field in the IDL. That way, users only see resource types owned
by org units where they have the permission.
While we're at it, a new VIEW_BOOKING_RESOURCE perm is also added for
resources.
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Daniel Pearl [Wed, 13 Mar 2019 14:07:17 +0000 (10:07 -0400)]
LP1787636: Sort Libraries without Holdings In Holdings View
Empty libraries in holdings view are listed at the end of the library
list instead of integrated within the list. This patch sorts them
within the list.
Signed-off-by: Daniel Pearl <dpearl@cwmars.org> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jason Stephenson [Thu, 26 Mar 2020 14:47:46 +0000 (10:47 -0400)]
LP1813088: Coerce Values to String in egGridValueFilter
Coerce values to string in the switch for Boolean columns in the main
egGridValueFilter function. This came about after an IRC conversation
with Mike Rylander who suggested this as a possible fix. It should
when field values are strings, integers, or Booleans.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jason Stephenson [Fri, 24 Apr 2020 18:22:25 +0000 (14:22 -0400)]
LP1873286: Fix Bad End Tags
Fix self-closing tags used in non-void HTML and non-empty XHTML tags.
These tags now cause errors with jQuery version 3.5.0 and were
technically wrong from the start.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Change "TODO" to "1202" in versioned upgrade script. I'm not sure how
that didn't happen unless I forgot to save the file or doing an
--amend before pushing changed things.
Bill Erickson [Fri, 24 Apr 2020 14:42:42 +0000 (10:42 -0400)]
LP1858448 Disable inititial aged money migration
Modify the existing SQL upgrade scripts to prevent the automatic
migration of billings/payments to the new aged money tables. This is
done to prevent data loss for sites which have not yet upgraded to the
affected versions.
The schema changes are kept so both pre- and post-upgrade sites can
follow the same schema update path.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jason Stephenson <jason@sigio.com>
Jason Stephenson [Wed, 11 Mar 2020 16:47:55 +0000 (12:47 -0400)]
LP1858448 More IDL fixups
Make IDL fixes as recommended in the Launchpad bug discussion.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: John Amundson <jamundson@cwmars.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Adds a srfsh script for manually aging money based on the
'history.money.retention_age' setting value.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: John Amundson <jamundson@cwmars.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
Bill Erickson [Fri, 7 Feb 2020 20:52:19 +0000 (15:52 -0500)]
LP1858448 Aged payment fields release notes
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: John Amundson <jamundson@cwmars.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
Bill Erickson [Fri, 7 Feb 2020 20:19:15 +0000 (15:19 -0500)]
LP1858448 Additional aged_payment fields
Adds accepting_usr, cash_drawer, and billing columns to the
money.aged_payment table.
Modifies the existing "xact" column for aged payments and billings in
the IDL to link to "mbt" instead of "acirc", since not all
payments/billings are linked to aged circs.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: John Amundson <jamundson@cwmars.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
Michele Morgan [Fri, 20 Dec 2019 21:00:08 +0000 (16:00 -0500)]
LP1781274 Fix floating point issue preventing transactions from closing
Paying multiple bills with a single payment can lead to some
transactions not closing because of floating point math inaccuracies.
This branch resolves the issue by limiting pending payment amounts to
2 decimal places.
The bug can be reproduced using grocery bills as follows.
Retrieve a patron that owes no money.
Add a billing of $.90
Add a billing of $.10
Select both billings
Enter $1 in payment received and Apply the payment
Click on History in the billings screen. Turn on the Total Billed and
Transaction Finish Time column and note that the $.10 bill has zero
balance owed, but does not have a transaction finish time.
To test:
Use the steps above to reproduce, noting the lack of Transaction
Finish Time. Apply the patch.
Use the same steps above and note that the post patch payments
resulted in both transactions getting a Transaction Finish Time.
Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
Kyle Huckins [Wed, 11 Mar 2020 21:07:11 +0000 (21:07 +0000)]
lp1801137 Item Status Precat Information
- Display precat title, author, and isbn in place of
regular title, author, and isbn fields in Item Status
list view when working with precat items.
- Add Dummy Title and Dummy Author fields to Item Status
Detail view when looking at a precat item.
Signed-off-by: Kyle Huckins <khuckins@catalyte.io> Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Jeff Davis [Wed, 19 Feb 2020 20:36:30 +0000 (12:36 -0800)]
LP#1774268: handle opac.hold_notify empty string in AngJS patron editor
If a patron does not want either phone or email hold notifications,
their opac.hold_notify user setting will be an empty string. Let's
ensure that the hold notify checkboxes remain unchecked in the patron
editor when that is the case.
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Jason Boyer <JBoyer@eoli.info>
Suzanne Paterno [Tue, 6 Aug 2019 15:29:57 +0000 (11:29 -0400)]
LP 1774268
On patron edit screen set the email and phone notification to true when patron doesn't have any prefernces. This mimics the behavior in the xul client.
Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Jason Boyer <JBoyer@eoli.info>
Sam Link [Tue, 22 Oct 2019 19:51:57 +0000 (15:51 -0400)]
Bug 1834251: adding alt attributes to Open-ILS\src\templates\kpac\parts\paginate.tt2.
Signed-off-by: Sam Link <slink@LIBPC002> Signed-off-by: Llewellyn Marshall <lbmarshallv.ncdcr@gmail.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Mike Risher [Wed, 22 Jan 2020 22:56:42 +0000 (22:56 +0000)]
lp1789491 visited link color
Some interfaces use a red or dark red background color for certain rows
and the visited link color makes it hard to read. Adjust this color
so there is more contrast against the red background.
Signed-off-by: Mike Risher <mrisher@catalyte.io> Signed-off-by: Jessica Woolford <jwoolford@biblio.org> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Since we enter the surveys, questions, and answers with specified ID values
but don't set the values to one higher, testers were unable to enter survey
data.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Josh Stompro [Tue, 25 Feb 2020 19:53:08 +0000 (13:53 -0600)]
LP#850160 - Event Def Environment Fleshing Might Have Issue
When the action trigger environment gets fleshed out, there is a bug
with how might_have relations are fleshed ever other time they are
evaluated.
The first time they are correctly evaluated, but then the next time the
same path gets evaluated, the object gets reset to the first value in
the object.
See https://bugs.launchpad.net/evergreen/+bug/850160 for testing notes.
The fix is to add an extra check to only grab the first element if the object is
an array. If it isn't an array it means it has already been fleshed.
Testing notes:
One way to test this bug is by looking at the self check
receipt, hours of operations bug.
https://bugs.launchpad.net/evergreen/+bug/793627
By default, the self check receipt will fail for even numbers of items checked
out because the hours of operation doesn't get fleshed correctly.
With this change, the receipt should print for even and odd numbers of items.
Another test is to add user.money_summary to a lost/bill action trigger
event notification. Before the fix, if you have an even number of items billec, the
user.money_summary gets set to the first object in that table, and for odd
numbers of items, user.money_summary.balanced_owed gets set correctly.
Signed-off-by: Josh Stompro <stompro@stompro.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Josh Stompro [Tue, 10 Dec 2019 19:25:37 +0000 (13:25 -0600)]
LP#1774285 - Change Pull list page title from Holds Shelf title.
Add a string for 'Pull List' and set the page title to that string
when the pull list interface is loaded. Allows staff to tell which
tab has the Holds Shelf open and which tab has the Pull List open.
* Teach the Angular holdings module vol/copy delete dialog to correctly
report failure events to the user and handle permission overrides.
* Add support for automatically launching the op-change dialog when a
permission failed event is returned by an API call for any /eg2/staff/
interface.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jennifer Weston <jennifer.weston@equinoxinitiative.org> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Galen Charlton [Thu, 13 Feb 2020 21:49:46 +0000 (16:49 -0500)]
LP#1863386: link ADMIN_CAROUSEL permission to appropriate OU context
This patch restricts prcrud retrieval and modification of templates
to users who have ADMIN_CAROUSEL in the relevant carousel owner OU
rather than requiring global_required.
To test
-------
[1] Apply the patch.
[2] Ensure that a user with ADMIN_CAROUSEL privileges at a depth
lower than "Consortium" can only view and edit carousel
definitions at OUs applicable to their working libraries.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Jennifer Weston <jennifer.weston@equinoxinitiative.org>
Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop> Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Gina Monti <gmonti@biblio.org>
Bill Erickson [Mon, 2 Dec 2019 22:44:14 +0000 (17:44 -0500)]
LP1854197 Add Vols and Copies honors owning lib
Fixes a bug in the Add Volumes and Copies action where there vol/copy
editor was unable to extract the owning library of the selected volumes,
thus leading to no differentation between owning libraries in the editor
and having all of the new volumes/copies linked (by default) to the
first owning library in the list.
To test:
1. Navigate to Item Status UI
2. Scan multiple (say, 3) barcodes, each with a different owning lib.
3. Select all 3 items and chose "Add Callnumbers and Items"
4. The holdings edit page that results should show one volume and copy
row per owning library instead of all rows linked to the first owning
library in the set.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jessica Woolford <jwoolford@biblio.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Tue, 21 Jan 2020 15:07:30 +0000 (10:07 -0500)]
LP1860275 Staff catalog add mono part repair
Fixes a bug in the New Monograph Part dialog which prevented passing the
bib record ID during the creation process, which resulted in a database
error and faulure to create the part.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Tiffany Little <tlittle@georgialibraries.org>
Michele Morgan [Thu, 8 Aug 2019 18:01:00 +0000 (14:01 -0400)]
LP1787415: Item Status checkout date and checkout workstation for renewed items
Fixes Item Status Quick Summary and Recent Circ History to show the original
checkout date and original checkout workstation for renewed items, instead of
values from the most recent circ row.
Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Dawn Dale <ddale@georgialibraries.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Dan Briem [Fri, 24 Jan 2020 23:03:07 +0000 (18:03 -0500)]
LP1849370 Mark items as damaged - changing fee usability issues
The prop that conditionally renders the fee interface is bound to the fee input
so it removes itself from the DOM when cleared. The patch uses a separate prop.
The fee input's by the edge so you may mistakenly close the modal if you try to
click & drag to highlight the fee. The patch sets the prop backdrop to static.
A $0 item price will cause the modal to keep reloading on submit. If you set a
$0 fee manually without clicking No Charge it charges the full item price. The
patch sets the apply_fines param for the Perl API dynamically on submission.
To test:
1. Make sure the OU setting "Charge item price when marked damaged" is true
2. Check out an item with a price to a user
3. Mark it damaged (from Item Status or Checkin screen)
4. Note if you clear the fee input it removes itself, if you drag the mouse off
the modal & release it closes, & if you charge $0 without using "No Charge" it
charges the user the full item price
5. Apply patch and repeat steps 1-3
6. Note the input stays when cleared, the modal doesn't close if you release
the mouse on the backdrop, & charging $0 doesn't charge the user
Signed-off-by: Dan Briem <dbriem@wlsmail.org> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Mike Risher [Tue, 4 Feb 2020 22:42:08 +0000 (22:42 +0000)]
lp1792995 wrong row details shown on billing grid
When using the bill grid, if one right clicks on a row and views full
details one is taken to the first selected row. Make the UI show
full details for the row being right clicked on. If no row is
clicked on show first selected item's details.
Signed-off-by: Mike Risher <mrisher@catalyte.io>
Changes to be committed:
modified: Open-ILS/web/js/ui/default/staff/circ/patron/bills.js
modified: Open-ILS/web/js/ui/default/staff/services/grid.js
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Terran McCanna [Mon, 21 Oct 2019 21:18:44 +0000 (17:18 -0400)]
LP#1839361 Login page tile is confusing to screen readers
Prior to this change, the login page, the splash page, and the
about page in the staff client all used 'Home' as the page title,
which caused accessibility problems. This change gives each
its own title.
Mike Rylander [Wed, 19 Feb 2020 15:36:56 +0000 (10:36 -0500)]
LP#1778521: Reset field transform after adding fields
Prior to this commit, the field transform was carried from field to
field as each was added to a report. This commit resets the selected
transform to the default "Raw data" after adding a field.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Chris Sharp [Fri, 10 Jan 2020 16:54:08 +0000 (11:54 -0500)]
LP#1859191 - Use correct API method for updating existing MARC records.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Dan Briem [Fri, 29 Nov 2019 19:51:06 +0000 (14:51 -0500)]
LP#1775276: Check In - "Route To" Field Sometimes Incorrect
When open-ils.circ.checkin closes a transit and creates a new one, the
payload only returns the closed transit. The route dialogs perform a
pcrud search to get the most recent transit, but the grid's Route To
field still depends on the transit returned by the API, so received
transits display the old destination in the Route To field instead of
the shelving location or new destination.
This branch returns the most recent route info collected by the route
dialog and, if the most recent transit destination doesn't match the
old one, the new one is assigned to the route_to prop on the
final_resp. It also checks that the transit is open before displaying
the destination in the Route To field so the shelving location
displays if the most recent transit is closed.
To test:
1. Sign in as Library A and check in an item owned by Library B
2. Place a copy hold on the item with a pickup location of Library C
3. Sign in as Library B and check in the item - note the dialog is
correct but the grid's Route To field displays Library B instead of
Library C
4. Apply patch
5. Repeat steps 1-3, note the Route To field displays Library C
Signed-off-by: Dan Briem <dbriem@wlsmail.org> Signed-off-by: John Amundson <jamundson@cwmars.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
Galen Charlton [Fri, 3 Jan 2020 22:55:10 +0000 (17:55 -0500)]
LP#1801163: (follow-up) deal with header fields that contain Unicode strings
Since Email::MIME->header_str_set() expects Unicode strings, not octets,
use decode_utf8() on the header values to
To test
-------
[1] Update the biblio.format.record_entry.print A/T event definition
to include non-ASCII characters in the subject and from headers.
[2] Upon applying the patch series, verifying that the strings provided
in step 1 are not mangled when the email is sent.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Jason Boyer <JBoyer@eoli.info>
Lp 1801163: Switch to Email::MIME in SendEmail A/T Reactor
Switch from Email::Simple to Email::MIME Perl module in the SendEmail
Action/Trigger Reactor. Email::MIME properly encodes unescaped header
fields when added to the message with the header_str_set method.
We allow only 1 of each address field to be created while doing the
encoding, so that messages conform to RFC 2822.
This commit adds a new prerequisite as mentioned in the release notes,
so be sure to install the prerequisites for your Linux distribution
before installing.
You can test this with concerto data from a fresh installation by:
1. Configuring your test system to send email.
2. Updating all actor.usr entries to have your email address.
3. Updating the New User Created Welcome Notice event definiton to
active = true.
4. Run the action_trigger_runner with --process-hooks --run-pending.
5. You should get 237 new user welcome emails. The exact number is
subject to change.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Jason Boyer <JBoyer@eoli.info>
Josh Stompro [Tue, 5 Nov 2019 21:31:21 +0000 (15:31 -0600)]
LP#1851434 - Allow COPY_NOT_AVAILABLE.override during renewal
Also addresses LP#1827901 - Allow PATRON_EXCEEDS_LONGOVERDUE_COUNT
override during checkout and renew.
Test Plan:
1. Check out an item to a patron.
2. Mark item lost by patron to change status to lost.
3. In web client, log in as user with COPY_NOT_AVAILABLE.override
4. Try to renew item for patron, see that it isn't allowed.
After fix:
1. Try to renew item for patron, see that the override is now allowed.
Also try checkouts and renews for patrons that have the PATRON_EXCEEDS_LONGOVERDUE_COUNT block.
Signed-off-by: Josh Stompro <stompro@stompro.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Wed, 21 Aug 2019 21:18:09 +0000 (17:18 -0400)]
LP1840982 Replace troublesome catalog icons
Replace 'arrow_right' icon with 'keyboard_arrow_right' (ditto left) in
the Angular catalog holdings maintenance grid. This resolves an issue
where the 'arrow_right' icon presents with excess padding, causing the
barcode / call number values to appear to be empty in the
'Location/Barcode' column of the holdings grid.
See also LP1830912 for icon padding issues.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Jane Sandberg [Thu, 17 Oct 2019 18:11:34 +0000 (11:11 -0700)]
LP1735566: Ask before deleting items in non-ideal statuses in AngularJS
To test:
1) Apply this commit.
2) Log in as a user with COPY_DELETE_WARNING.override permission.
3) Go to item status and scan an item in a non-ideal status (like #1:
checked out)
4) Delete the item. Note that you are alerted of the item's non-ideal
status, and you can confirm that you actually want to delete it.
5) Repeat steps 3-4 with an item in an ideal status (like #0:
Available). Note that no such alert appears.
6) Open the holdings view and repeat steps 4-5.
7) Log in as a user without the COPY_DELETE_WARNING.override
permission. Note that you are still informed about the non-ideal status,
but you aren't able to continue with the deletion without an admin
using their credentials.
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Garry Collum <gcollum@gmail.com> Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Galen Charlton [Sun, 19 Jan 2020 19:47:40 +0000 (14:47 -0500)]
LP#1860351: fix hasWorkPermHere() in Angular client
Fixes a bug where the Angular client's hasWorkPermHere() check
could return incorrect results and thus incorrectly report
whether or not the staff user currently has particularl permissions
at their current workstation.
To test
-------
[1] Arrange for a workstation whose internal ID is larger than
any of the org unit IDs.
[2] Log in to that workstation with a user who has permission
to update monograph parts.
[4] In the experimental Angular staff catalog, go to a record
(e.g., /eg2/en-US/staff/catalog/record/21/monoparts) and note
that the New Monograph Part button is disabled.
[5] Apply the patch and repeat step 4. This time, the button
should be active.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Fri, 3 Jan 2020 20:41:03 +0000 (15:41 -0500)]
LPLP1835982 Holds grid user barcode text generator; handle null
Adds a new text generator for the patron barcode template in the staff
catalog holds grid. Also adds a name field to the <eg-grid-column/>
to support the text generator.
Teach the cell text generator internals to translate undefined and null
values to '' so generator authors don't have to.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Galen Charlton [Fri, 3 Jan 2020 16:50:05 +0000 (11:50 -0500)]
LP#1835982: tweak a few of the new GridCellTextGenerator
- do not display 'null' for Vandelay import errors and
holds table current copy barcodes
- trim leading and trailing whitespace from the items table
call number
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Galen Charlton [Fri, 3 Jan 2020 16:33:19 +0000 (11:33 -0500)]
LP#1835982: add GridCellTextGenerator to the btGrid in the sandbox
This patch also adds a usage note: since the GridCellTextGenerator
only has access to the row object but a cellTemplate can be passed
arbitrary context in addition to the row, a GridCellTextGenerator
that needs that additional context to have the print content match
the displayed content may require that the caller stick it in the
row object.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Bill Erickson [Wed, 20 Nov 2019 16:57:26 +0000 (11:57 -0500)]
LP1835982 Remove more deprecated cellPrintValue refs
cellPrintValue inputs were replaced with grid-wide cellTextGenerator
handlers. This patch removes a few remaining references to
cellPrintValue inputs. Having them linger was breaking --prod builds,
since they referred to nonexistent methods.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Bill Erickson [Fri, 9 Aug 2019 16:47:37 +0000 (12:47 -0400)]
LP1835982 Grid cell text generator API migration
Migrate cell-specific cellPrintValue handlers to a grid-wide
cellTextGenerator handler. This simplifies the client-side API and
helps to formalize the API a bit more by providing a new
GridCellTextGenerator interface.
Warning messages are now display at page load time when a grid cell uses
a cellTemplate but does not have a matching text generator.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
LP#1835982: add cell value print handlers to holdings grid
This patch adds cell value print handlers for the barcode
and holdable columns of the Angular staff catalog holdings
view.
To test
-------
[1] After applying the patches for this bug, perform a "Download
Full CSV" or "Print Full Grid" action on the Holdings View
grid in the Angular staff catalog.
[2] Verify that the Location/Barcode and Holdable? columns in the
output contain appropriate values.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Bill Erickson [Tue, 16 Jul 2019 16:10:36 +0000 (12:10 -0400)]
LP1835982 Grid cell print values option
Allow grid callers to implement functions that return plain text
(printable) values for a given cell. These are primarily useful when a
cell is rendered via cellTemplate, which may not produce content which
is ideal for printing. Such functions are specified by the cellPrintValue
attribute in the eg-grid-column element.
Includes sample implementation for the Angular record detail copies
grid, which uses several cellTemplate cells.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Galen Charlton [Fri, 20 Dec 2019 17:40:34 +0000 (12:40 -0500)]
LP#1843599: AngularJS MARC editor once again sets bib source
This patch fixes a regression introduced by the patch for bug 1693580
that prevent changes to the bib source from being made via the AngularJS
MARC editor.
To test
-------
[1] Apply the patch.
[2] Create a new bib record and save it with a non-empty source. Verify
that the record sets the source as expected.
[3] Edit a bib record and change the source. Verify that the new source
is retained when the record is saved.
[4] Edit an authority record and save it. Verify that it can be updated
without error. (Note that authority records do not have sources in
the same way that bib records do.)
In bug 1827250 I suggested Jason Stephenson look at an alternate SQL
formulation to solve the original problem. He did, and deemed it faster,
so went with that. Unfortunately, on PG 9.6, we're seeing some data sets
that decide on a /very/ poor plan for the wide-hold query with the
solution as implemented, but the original suggestion from Jason works
fine.
In the face of evidence controverting my thought that giving PG more
options for planning is better in this case, this commit moves to his
original query change.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 3 Jan 2020 15:35:56 +0000 (10:35 -0500)]
LP#1858138: remove remaining uses of showLinkSelector
Now that showLinkSelector is deprecated and does nothing,
remove current uses of it.
To test
-------
[1] Apply the patch.
[2] Visit Angular admin interfaces that have grids that
refer to linked IDL classes, e.g.,
- Local Admin -> Carousels (carousel type)
- Server Admin -> Weights Association (circ weights and hold
weights)
- Local Admin -> Item Tags (copy tag type)
- Acq Admin -> EDI Accounts (provider)
[3] Verify that the columns for linked fields display the
appropriate selector field rather than the numeric ID.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Thu, 2 Jan 2020 21:31:31 +0000 (16:31 -0500)]
LP1858138 Sandbox example of simple grid filtering
Adds a trimmed down grid example demonstrating consistent filtering and
link selector display for auto and manual fields without requiring any
additional grid markup to define basic column behevior.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Thu, 2 Jan 2020 21:22:34 +0000 (16:22 -0500)]
LP1858138 Grid IDL field definition repairs and more
* Deprecate showLinkSelectors, since FormatService now performs that
logic under the covers. Includes deprecation console warning.
* Fix Grid field IDL class extraction off-by-one error. The code was
stamping the source field with the class of the field's link target
instead of the class the field actually belonged to.
* Allow for IDL field info extraction from the 'name' attribute when no
'path' attribute is defined.
* Avoid console errors when clearing combobox values in grid filters.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
This patch fixes a problem where loan durations of the form
HHH:MM:SS, where the hours component is longer than 2 digits, could
cause checkouts to fail. This sort of duration has been observed
in cases where a library wanted a long-term reserves loan that
doesn't have the due time bumped up to midnight.
To test
-------
[1] Set up a circulation policy that has a loan duration of 167:59:59.
[2] Attempt a checkout that uses that policy. Note that the checkout
will fail.
[3] Apply the patch and repeat step 2. This time, the checkout should
succeed.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Dan Scott <dan@coffeecode.net> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Bill Erickson [Tue, 12 Nov 2019 20:13:39 +0000 (15:13 -0500)]
LP1858118 Hatch enabled check repairs
Teach code asking Hatch whether printing is enabled to properly handle
the asynchronous response of the setting which now exists as a
workstation setting instead of a localStorage setting.
Related, if Hatch is unavailable, use browser printing regardless of the
hatch printing workstation setting.
Additionally update the "reprint last" handling to store the
last_printed value in localStorage instead of attempting to save its
value as a workstation setting.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Dan Scott <dan@coffeecode.net> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 27 Dec 2019 21:45:42 +0000 (16:45 -0500)]
LP#1855931: (follow-up) make grid filter control cells wrap as well
This patch applies "word-wrap: normal" to filter control cells
as well, making it more likely that they will stay aligned with
the width of their corresponding header cells. This can be tested
by adding visible columns to the "Grid with filtering" table in
the Angular sandbox (/eg2/en-US/staff/sandbox) and verifying that
the column after "Circulating Library" continues to have its
filter widget stay aligned with its label.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>