Lp 1862652: pingest.pl reingest record attributes fix Use the rdeleted parameter when reingesting record attributes in pingest.pl support script so that passing argument values to the --attr option makes sense. Prior to this patch, arguments of the --attr option would be ignored, and all record attribute fields were reingested for all records, deleted and not deleted alike. With this patch, the arguments of the --attr option are respected for not deleted records. Deleted records still have all attributes reingested. Signed-off-by: Jason Stephenson <jason@sigio.com>
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>
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>
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>
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>
LP1849182 Angular catalog result/detail tab titles Add tab/page titles to the Angular staff catalog Search Results and Record Details pages. Search results offers 1 of 2 titles, depending on whether a search has be run: "Catalog Search" "Catalog Search - <count> Results" The record detail title shows the bib ID and bib title: "Bib <bib TCN> - <bib title>" Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
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>
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>
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>
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>
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>