Bill Erickson [Mon, 11 Jul 2022 18:06:44 +0000 (14:06 -0400)]
LP1823225 Patron Penalty Refresh Action
New menu entry added under the 'Other' menu for patrons. It refreshes
the patron's penalties and reloads the patron to ensure all needed data
is refreshed.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: John Amundson <jamundson@cwmars.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Bill Erickson [Tue, 19 Jul 2022 14:19:29 +0000 (10:19 -0400)]
LP1910546 Prevent Copy Location Delete With Active Copies
Raise a database exception when any attempt is made to marke a copy
location as deleted when the location contains non-deleted copies.
To Test:
1. Navigate to /eg2/staff/admin/local/asset/copy_location
2. Attempt to delete a copy location that is known to contain
non-deleted copies.
3. Confirm an error message is displayed and the location is not marked
as deleted.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Tiffany Little <tlittle@georgialibraries.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Bill Erickson [Mon, 3 Jan 2022 17:54:43 +0000 (12:54 -0500)]
LP1771636 Org Select Combined Org Names Option
Adds an option to the staff client workstation settings page for
"Include Full Library Names in Library Selector?". When enabled, Angular org
unit selectors display the full branch in addition to the branch short
code.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: John Amundson <jamundson@cwmars.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Jason Boyer [Thu, 28 Jul 2022 19:15:17 +0000 (15:15 -0400)]
LP1978567: Teach fieldmapper.py about field groups
Because the "group" tag in IDL field_groups was never added to
this file that helps with translations, Simple Reporter field groups
all have the same name when built for release.
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
LP#1956986: fix and refactor item alert handing in Angular editor
This patch changes the handling of item alerts in the Angular
Holdings View and Item Attributes editor to be more like how
item notes and item tags are handled.
In particular:
- The separate 'Add Item Alert' and 'Edit Item Alerts' context menu
items in Holdings View are consolidated to a 'Add/Manage Item Alerts'
action.
- Pending new alerts are displayed in separate area of the modal
- The 'Apply Changes' and 'Add New' buttons now work the same way as
item notes and item tags
To test
-------
[1] Apply patch.
[2] Create a new item with one or more item alerts. Verify that they are
properly saved.
[3] Edit an existing item and add, modify, and clear alerts. Verify that
the changes are saved.
[4] From Holdings View, choose 'Add/Manage Item Alerts' with a single
item selected. Verify that changes are saved.
[5] From Holdings View, choose 'Add/Manage Item Alerts' with multiple
items selected. Verify that you are only given the option to add
new alerts. Verify that new alerts are saved.
LP#1978889: display alert type for existing item alerts
This patch ensures that the type of an item alert is
displayed when managing item alerts in the Angular item
attributes editor.
To test
-------
[1] Add an alert to an item.
[2] From the Angular Holdings View, chose 'Edit Item Alerts'
for that item. Note that the combobox for the existing
alert does not display a value.
[3] Open the item in the Item Attributes editor and click
the Item Alerts button. Again, note that the alert type
combobox does not display a value.
[4] Apply the patch and repeat steps 2 and 3. This time, the alert
type should be displayed.
Bill Erickson [Mon, 27 Dec 2021 18:04:37 +0000 (13:04 -0500)]
LP1955838 Hatch Native Browser Printing Option
Adds a new printer option to the Hatch printer settings page called
"Browser Printer". When selected for a print context, all print request
using that context are printed via window.print() instead of going
through Hatch for printing.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Bill Erickson [Wed, 13 Jul 2022 14:09:33 +0000 (10:09 -0400)]
LP1884950 Org service loads all ou types fix
Recover an unintended line deletion.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Dawn Dale <ddale@georgialibraries.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Wed, 6 Jul 2022 20:35:28 +0000 (16:35 -0400)]
LP1884950 Org service loads all ou types
Explicitly load all org unit types at page startup so that we fetch org
types that may not have an org unit attached.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Dawn Dale <ddale@georgialibraries.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Wed, 6 Jul 2022 19:32:42 +0000 (15:32 -0400)]
LP1884950 Org Unit Admin Scrolling
Admin -> Server Admin -> Organizational Units now displays the tree of
org units in a vertical-scrollable div which occupies 80% of the
vertical window space.
Tree is opened to the first level of child nodes. Deeper child nodes
are collapsed.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Dawn Dale <ddale@georgialibraries.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Terran McCanna [Thu, 20 Jan 2022 19:42:33 +0000 (14:42 -0500)]
LP1958573 PMC messages created by action triggers not patron-visible
This adds a missing patron-visibility flag to messages created for
the patron message center by notification action triggers (when
using grouped events).
LP#1980257: (follow-up) add balance owed to the pending grid as well
Doing this maintains symmetry between the user bucket grid
and the pending user grid and supports workflows where a staff
member may wish to check the patron balance before adding a
user to a bucket.
A new edit (pencil) icon appears to the left of the first call number
field in the 'holdings' tab of the copy edit. When clicked, the user has
a chance to enter a new org unit value to act as the owning lib of the
affected call number.
If the "Change Circ Lib When Owning Lib Changes" preference is set, then
any copies linked to the affected call number within the current edit
session will have their circ libs updated to match the new owning lib of
the call number.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
LP#1981095: fix deletion of item tags in Angular item attributes editor
This patch fixes several bugs that prevent item tags from
being correctly deleted by the Angular item attributes editor.
To test
-------
[1] Apply patch.
[2] Edit a single item in the Angular item attributes editor.
[3] Verify that tags can be added and deleted.
[4] In Holdings View, choose Add/Manage Item Tags for a single
selected item.
[5] Verify that tags can be added and deleted;
[6] Repeat steps 4 and 5 for a different item after successfully
deleting an item tag. Verify that tags can be added and deleted.
[7] In Holdings View, choose Add/Manage Item Tags for multiple
selected items.
[8] Verify that ntoes can be added to the selected items
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
LP#1955065: fix deletion of item notes in Angular item attributes editor
This patch fixes several bugs that prevent item notes from
being correctly deleted by the Angular item attributes editor.
To test
-------
[1] Apply patch.
[2] Edit a single item in the Angular item attributes editor.
[3] Verify that notes can be added and deleted.
[4] In Holdings View, choose Add/Manage Item Notes for a single
selected item.
[5] Verify that notes can be added and deleted;
[6] Repeat steps 4 and 5 for a different item after successfully
deleting an item note. Verify that notes can be added and deleted.
[7] In Holdings View, choose Add/Manage Item Notes for multiple
selected items.
[8] Verify that ntoes can be added to the selected items.
Bill Erickson [Thu, 7 Jul 2022 20:28:36 +0000 (16:28 -0400)]
LP1965448 Holdings edit enforce required stat cats
Required copy stat cats require a value when creating or editing
copies.
Switching between tabs in the copy editor no longer alert the user when
a change is pending, since it may be necessary to hop between tabs to
resolve issues. Pending changes alerts will still appear when leaving
the page if needed.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
[1] Set the Angular holdings and item attributes editor to
unified mode.
[2] Create a new call number and item. Note that the buttons
to create item tags, item alerts, and item notes do not work.
[3] Apply the patch and repeat step 2.
[4] This time, adding tags, alerts, and notes in the course of
creating a new item should work.
Display shortnames instead of IDs for the Requesting Library
and Selection Library columns in the Pull List grid in the
staff client.
Test:
1. Circulation->Pull List for Hold Requests
2. Select OU with holds to pull or place an item hold on an
available item and select the owning OU
3. Add the Requesting Library and Selection Library columns
(note IDs are displayed)
5. Apply patch, rebuild Angular, rebuild Perl
6. Refresh and re-add columns (note shortnames are displayed)
Signed-off-by: Dan Briem <dbriem@wlsmail.org> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Garry Collum [Tue, 28 Jun 2022 11:59:21 +0000 (11:59 +0000)]
LP1951642 Self-registration DOB autopopulating date
This removes the autopopulation of the dob date in the OPAC's
self-registration page. Note that the issue applies only to
the Bootstrap OPAC, not TPAC.
To test:
1. In library settings turn on "Allow Patron Self-Registration" and "Show dob
field in patron registration". "Require dob field on patron registration"
can also be turned on to test that option.
2. Go to the "Request Library Card" page of the opac and notice that the
dob field is populated with today's date.
3. Apply the patch.
4. Check the dob field again and notice that it is no longer autopopulated.
5. Create a few registrations with dob dates and with no dob dates to confirm
that the field works.
Garry Collum [Tue, 9 Nov 2021 16:09:48 +0000 (11:09 -0500)]
LP1950166 TPac: Self-registration form won't submit with blank DOB
Adds a check for a blank value in the DOB validation script. Note
that the issue is present in TPAC, not the Bootsstrap OPAC.
To test:
1. Confirm "Require dob field on patron registration" is not set or set to False.
2. Confirm "Show dob field on patron registration" is true.
3. Confirm "Allow Patron Self-Registration" is set to true.
4. Try to register a patron in the TPAC with DOB blank.
5. Apply patch.
6. Try to register a patron in the TPAC with the DOB blank.
7. Try to register a patron with Invalid DOB input.
8. Try to register a patron with valid DOB input.
Garry Collum [Wed, 10 Nov 2021 19:44:16 +0000 (14:44 -0500)]
LP1950514: TPac hold groups table displays incorrect column names on small screens.
This fixes the incorrect display of column names in the hold groups table
in the tpac. Previously the table would display names for the hold history
table.
To test:
1. create an opac visible hold group and assign a patron to the group.
2. login to the TPac as the patron assigned to the group.
3. view hold groups and make the browser screen as small as possible.
4. notice on the smallest screen the headers for the table are incorrect.
5. apply the patch and view the headers.
LP#1851884: eg-fm-record-editor: avoid fetching all rows from linked table
This patch ensures that Angular FM record editor dialogs do
not attempt to fetch all rows from target table when constructing
a combobox for a linked field.
In particular, it makes the following changes:
* If a custom template for a field is supplied, use that by
default rather than _also_ creating a data source for
a combobox.
* Rather than creating its own data source for a linked field,
the FM record editor now uses the IDL mode of eg-combobox. By doing
this, we use eg-combobox's default data source, which limits
record retrievals to 100 rows max. Also, empty-click is now
enabled by default.
* When attempting to identify a selector for an IDL class, if
the class doesn't define a selector and doesn't have a field named
'name', but its primary key is a text field, use the primary
key as the selector.
To test
-------
[1] Create a few thousand empty bib record buckets in your test database.
[2] Edit a carousel under Local Administration; note that it can
take some time for the dialog to load.
[3] Apply the patch and repeat step 2. This time, the carousel edit modal
should open instantly.
[4] Test various Angular record editor modals to confirm that they behave
as expected. For example:
* The allocate to fund dialog in Fund Administration, in particular
to verify that only active funds show up.
* The assign user to course modal, to verify that searching is done
by course number, not name.
* Filter Dialog Set editor under /eg2/en-US/staff/admin/local/config/filter_dialog_filter_set
to verify that the drop down for the creator doesn't fetch
all patrons. (Note that this is an artificial example).
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Tiffany Little <tlittle@georgialibraries.org>
Jeff Davis [Thu, 19 May 2022 23:32:38 +0000 (16:32 -0700)]
LP#1945385: use eg-admin-page for circ limit sets admin UI
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop> Signed-off-by: Jason Stephenson <jason@sigio.com>
Kyle Huckins [Tue, 15 Mar 2022 02:20:40 +0000 (02:20 +0000)]
lp1942647 Provide Warning when deleting Term linked to Courses
- Separates out Course Term Grid to its own component
- Adds retrieval service function for Course/Term Maps based on Term ID
- Displays Confirmation dialog when deleting terms on the term grid if term is mapped to a course
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Changes to be committed:
modified: Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-list.component.html
modified: Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-reserves.module.ts
new file: Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-term-grid.component.html
new file: Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-term-grid.component.ts
modified: Open-ILS/src/eg2/src/app/staff/share/course.service.ts
Signed-off-by: Beth Willis <willis@noblenet.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Garry Collum [Wed, 10 Nov 2021 19:01:44 +0000 (14:01 -0500)]
LP1950345-Format the Current Hold Groups table in bootstrap opac
This patch styles the Current Hold Groups table in bootstrap to be consistent
with other tables in the bootstrap catalog. It fixes overlappling text
in cells. It also fixes the column headings for small screens. Previously
the headings on small screens were pulling from the css rules for the
holds history table.
To test:
1. create a couple of hold groups and add a patron to each group. Make the
groups opac visible.
2. login to the opac as the patron to view the holds groups to which the
patron belongs. Notice the table style with not margins or padding.
3. make your browser as small as possible to see the incorrect headings.
4. apply the patch.
5. repeat 2 and 3 to view the fix.
Galen Charlton [Mon, 23 May 2022 23:06:48 +0000 (19:06 -0400)]
LP#1930617: reduce parallel requests initiated by AngularJS holdings editor
This patch decreases the number of parallel requests spawned by the
AngularJS holdings editor. This can reduce load on open-ils.pcrud when
the editor is used to handle a large number of items in one batch.
This patch takes the following approaches:
- the fetching of call number affixes now only makes one request
per relevant org unit
- item alerts are now retrieved via fleshing when the batch of items
is requested (as opposed to doing a PCRUD request for each copy)
- fetching monograph parts is now done serially
To test
-------
[1] Apply the patch.
[2] Create a bucket with a few hundred items and edit all of them
in the AngularJS holdings editor (which is what you get when
you edit items from the bucket interface).
[3] Verify that the editing loads itself without causing errors
or PCRUD drone spikes.
[4] Verify that item alerts and monograph parts are loaded
[5] Verify that the call number prefix and suffix drop-downs
are correctly populated.
[6] Verify that copy alerts can be attached to newly-created items
and saved.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Galen Charlton [Thu, 19 May 2022 14:00:48 +0000 (10:00 -0400)]
LP#1974195: fix memory leak when performing fleshed Fieldmapper search
This patch fixes a memory leak that occurs when performing
a fleshed search of an IDL class via open-ils.cstore, open-ils.pcrud,
or open-ils.rstore. It removes a debug-level log entry that didn't
free a temporary string.
To test
-------
[1] Perform a PCRUD search that includes fleshing and retrieves
a large responses. One example is a search on bre that fleshes
call numbers and copies and returns a few hundred bibs.
[2] Observe that the PCRUD drone that serviced the request has
increased its memory usage significantly.
[3] Apply the patch and repeat step 1. This time, the drone's memory
usage should not (persistently) increase as much.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
This patch adds human-readable labels to the IDL for
field doc. It also marks required fields in the IDL, removing
the need for the Angular code to explicitly specify
the set of required fields.
Jason Etheridge [Thu, 7 Apr 2022 16:06:17 +0000 (12:06 -0400)]
LP1857910 add org family selector to field doc UI
If we want this to default to workstation org or something, we can do that, though I was having trouble
getting that to work. Right now it'll include all orgs in its default unselected state. I'm also not
sure about i18n-labelText and whether that works with eg-org-family-select.
Signed-off-by: Jason Etheridge <jason@EquinoxOLI.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Bill Erickson [Mon, 17 Aug 2020 21:29:50 +0000 (17:29 -0400)]
LP1857910 Field doc UI Angular 10 updates
Modify the lazy loader to use the new Ang10 style loading syntax.
Avoid using template variables as output variables for other components,
since template variables (those declared with let-foo="bar" in
<ng-template/>) are read-only, possibly as of Ang 10, so the page was
not loading at first.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jason Etheridge <jason@EquinoxOLI.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Kyle Huckins [Wed, 8 Jan 2020 18:04:11 +0000 (18:04 +0000)]
lp1857910 Field Documentation Port
- Port grid UI allowing the creation and editing of Field
Documentation from DOJO to Angular
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Changes to be committed:
modified: Open-ILS/src/eg2/src/app/staff/admin/local/admin-local-splash.component.html
new file: Open-ILS/src/eg2/src/app/staff/admin/local/field-documentation/field-documentation.component.html
new file: Open-ILS/src/eg2/src/app/staff/admin/local/field-documentation/field-documentation.component.ts
new file: Open-ILS/src/eg2/src/app/staff/admin/local/field-documentation/field-documentation.module.ts
new file: Open-ILS/src/eg2/src/app/staff/admin/local/field-documentation/routing.module.ts
modified: Open-ILS/src/eg2/src/app/staff/admin/local/routing.module.ts
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jason Etheridge <jason@EquinoxOLI.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Jeff Davis [Wed, 11 May 2022 22:55:21 +0000 (15:55 -0700)]
LP#1946531: use batch method to add users to bucket via User Buckets UI
Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop> Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Jane Sandberg <js7389@princeton.edu>
LP#1970486: fix SuperCat crash on serial units with stat cats
This patch fixes a bug where retrieving a title via SuperCat (in
particular, with holdings XML) can crash of the title has a serial
unit (i.e., barcoded serial item) attached that also has a statistical
category.
To test
-------
[1] Create a title with a barcoded serial item.
[2] Attempt to fetch the title via SuperCat:
[3] Note that an internal server error is returned.
[4] Apply the patch and repeat step 2. This time, an XML
document should be returned that includes the serial item
and its stat cat.
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
This patch moves the buttons for each list row underneath the title and descriptions fields.
It makes the create list form collapsible using a button.
If there are lists, the create form is collapsed.
The create form is expanded on load, if the user selects move bucket to new list, or add rec to new list from a menu or button from another page.
The "Move contents of basket to this list?" in the creation form now defaults to 'yes' if an option to move a basket to a new list is chosen from a menu.
It adds localization functions to the button texts and removes a dangling </div> in anon-list.tt2
It moves the create form from a <table> design and uses Bootstrap elements instead.
To Test.
1. After applying the patch view the list page and notice that the form is expanded.
2. Create a list. The form is now collapse.
3. Perform a search and add some of the titles to a basket.
4. From one of the result rows drop-down the Add to My List menu and select 'Add to New List'.
The form is expanded and the "Move contents of basket to this list" should be 'yes'.
5. From the basket screen or from the lists screen click on the 'Add to New List' button. The results should be the same as step 4.
6. After creating a few lists, notice that the buttons for each list are now displayed under the list title and description and
each row is distinguished by a bottom border.
Signed-off-by: Garry Collum <gcollum@gmail.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Bill Erickson [Tue, 19 Apr 2022 17:27:17 +0000 (13:27 -0400)]
LP1956626 Copy editor loads all needed copy locations
The item-location-select component now allows the caller to pass in a
set of context org unit IDs (in lieu of just a single id) for loading
copy locations across different areas of the org unit tree (without
having to load *all* copy locations).
Changes applied to the Angular copy location editor to pass the needed
context org units to the item location select component.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Galen Charlton [Wed, 10 Nov 2021 15:06:36 +0000 (10:06 -0500)]
LP#1950468: make Replace Barcode from Item Status detect duplicate barcodes
This patch makes the Replace Barcode action when invoked from
Item Status properly detect and warn if the replacement barcode
is a duplicate of one already found in the system. This is a complement
to the fix for bug 1890498.
To test
-------
[1] Enter an item barcode into Item Status.
[2] Try 'Replace Barcode' from detail view and set the
replacement barcode to one that is already active in
Evergreen. Note that the dialog closes without
updating the barcode or warning about the duplicate and
that a error is logged in the browser console.
[3] Repeat step 2, but this time from list view. Note
the problem remains the same.
[4] Apply the patch and repeat steps 2 and 3. Note that
now the dialog will remain open and will display an
error message complaining about the duplicate barcode.
Mike Rylander [Fri, 8 Apr 2022 15:10:35 +0000 (11:10 -0400)]
LP#1967770: Followup fix for cover image directories
In the initial fix we checked for the top level cover image location and
error out if it's not there, but this is unnecessary since it will be
created if it doesn't yet exist.
Signed-off-by: Mike Rylander <mrylander@gmail.com>