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>
This update fixes an error when trying to process a 755 tag in
and authority record that has a source set.
See the discussion on the listserv at:
https://georgialibraries.markmail.org/thread/rmwcxkwjzv2qczmu
To test, try to import the sample authority record provided
by Linda Jansova (https://markmail.org/thread/2ay3j4wg7fecymhz)
in evergreen, and see the log files for the import errors.
It is also possible to test from the command line.
In /openils/var/xsl, copy the example autority marc xml file to
that directory, name it americ.xml, then run the command
xsltproc ./MARC21slim2MADS.xsl ./americ.xml
This will error out.
After patch has been applied, try importing the sample authority
record and see that it imports successfully.
Signed-off-by: Josh Stompro <stompro@stompro.org> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
LP#1942240 Insufficient color contrast in boostrap forms
Overrides the bootstrap form-control border color. Also changes the
border_standard color in colors.tt2 which is used for the border
around some form elements.
After this patch is applied the color ratio is 3.54:1
Garry Collum [Mon, 17 Jan 2022 18:05:37 +0000 (13:05 -0500)]
LP1958163 Bootstrap Opac: the 'Request a Card' link.
This fixes the 'Request a Card' link which displays in the bootstrap opac
regardless of the 'Allow Patron Self-Registration' library setting in both
the login page and the login modal.
To Test:
1. Click on My Account in the Bootstrap Opac to open the login modal.
Notice the Request a Card link. Click Login without adding a barcode
or pin# to see the login page with its link.
2. Set the Allow Patron Self_Registration library setting to false for the
Consortium.
3. Repeat 1, and notice that the link still displays.
4. Apply the patch.
5. Now the link should not be visible in both forms.
6. Set the library setting to true, to verify that the link does display.
Josh Stompro [Thu, 28 Feb 2019 15:43:49 +0000 (09:43 -0600)]
LP#1778783 - Circulate.pm fix log_me correct barcode var
The log_me sub wasn't using the correct variable for showing the entered
barcode. It should be $self->copy_barcode instead of $self->barcode.
Testing Notes:
Before fix:
1. Watch the logs with something like
tail -f osrfsys.log | fgrep 'circulator: do_permit()'
2. Perform a checkout of a non-existant barcode.
3. Notice that the entered barcode is missing after 'copy='
After fix:
1. Restart the circ openils service
osrf_control -l --service open-ils.circ --restart
2. Watch the logs.
3. Perform a checkout of a non-existant barcode.
4. Notice that the barcode is now shown after 'copy='
Signed-off-by: Josh Stompro <stompro@stompro.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Terran McCanna [Mon, 31 Jan 2022 19:29:16 +0000 (14:29 -0500)]
LP1958265 Angular Holds Grids Not Printing Barcode
This adds the ability to print (or download CSV) the Current Item
and Requested Item barcodes from the Holds Pull List and from the
Holds tab of the bib record.
Jason Stephenson [Fri, 11 Feb 2022 14:44:55 +0000 (09:44 -0500)]
LP1959904: Fix Angular Profile Select Component
The Angular profile select component has a bug when permission group
tree display entries are used. It will loop forever if the grp and
parent have the same value in permission.grp_tree_display_entry
because it is comparing permission group tree entries to permission
group tree display entries in the groups filter of the grpLabel
function.
This patch adds a ternary operator to compare display entries to
display entries and group tree entries to group tree entries in a
manner identical to how the parent value is determined a few lines
above.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: John Amundson <jamundson@cwmars.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>