Dan Pearl [Tue, 10 Apr 2018 18:45:47 +0000 (14:45 -0400)]
LP1760893 Add Holdings Part dropdown should list items in order
Without a defined sort, the Part dropdown when editing a holding simply
displays in database order. Let's be more deterministic about it.
In this case, while slightly surprising, consensus opinion was that
reverse order on label_sortkey provides the best overall usability.
This is obviously true on records with many parts, but can help in all
cases.
Signed-off-by: Dan Pearl <dpearl@cwmars.org> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Per a suggestion from Jane Sandberg, the description now includes
an example of a time zone name with an underscore. Also, the database
update will no longer overwrite any custom description that the
Evergreen admin may have put in.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Remington Steed [Thu, 21 Feb 2019 19:54:19 +0000 (14:54 -0500)]
LP#1817332 Add example to lib.timezone setting description
This commit adds a few examples of acceptable lib.timezone values to the
setting description, with the goal of using examples of existing
Evergreen installations. It also includes a clickable link to the
extensive list on Wikipedia. Since the settings editor is displayed
within an iframe, the link needs a "target" to successfully trigger.
- ensures that the Boolean values get saved as 't' or 'f', as
the reporter builder doesn't recognize JSON true or false in
this context.
- pretty-prints the current filter value in the dialog
- removes a logging line
To test
-------
[1] Apply the patch.
[2] Create or clone one or more report templates and add Boolean
column filters. Change the filter value and verify that
it displays the current value and lets you change it.
[3] Run reports from the template(s) created in step 2 and
verify that the reports produce the expected results.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Jason Boyer [Tue, 29 Jan 2019 17:15:25 +0000 (12:15 -0500)]
LP1642337: Reporter Boolean Filters
The dialog controller doesn't appreciate getting
a bare boolean as a message, so if the current item
is a boolean call toString() on it before calling
the egConfirmDialog.
An <Unset> string is also added to the reporter
strings for further use, but if there are no
strong feelings re: using it, it can be dumped and
a '' used in its place.
Signed-off-by: Jason Boyer <jboyer@library.in.gov> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Kyle Huckins [Thu, 16 Nov 2017 20:56:51 +0000 (20:56 +0000)]
lp1642337 Boolean Filters in Reporter
- Add condition check to see if filter is boolean, and if so,
substitute a confirm dialog for the default prompt, repalcing
the text input with buttons for True/False values.
Signed-off-by: Kyle Huckins <khuckins@catalyte.io> Signed-off-by: Jason Boyer <jboyer@library.in.gov> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Bill Erickson [Tue, 5 Mar 2019 22:07:21 +0000 (17:07 -0500)]
LP1816480 Angular grid ARIA improvements
Various navigation and "role" improvements to the Angular grid:
* Apply "grid", "row", "columnheader", and "gridcell" role attributes.
* Page-Down goes to next page
* Page-Up goes to previous page
* Shift-UpArrow extends selection one row up (spanning pages).
* Shift-DownArrow extends selection one row down (spanning pages).
* Shift-Arrow controls support reverse navigation for back-tracking to
de-select certain rows.
** E.g. shift-up 3 rows then shift-down 1 will leave 2 rows selected.
* Control-A now selects all rows in the page.
** For consistency with the select-all checkbox, only rows in the
current page are selected.
** Note we could add an option to extend the selection to all rows,
but it would require pre-fetching all of the data, simimar to
how grid printing pre-fetches.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
- display the number of org units associated with the selected type
- disable the Delete button if a type either has children types
or org units linked to it
- ensure that the type name and label fields are required
- ensure that the tree is fully refreshed after an update
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
When editing a record in the fieldmapper editor component, offer a
translate option for each i18n field on the object, in the form of a
button next to the field. Once clicked, the translate component dialog
appears and allows the user to add/modify translations on the selected
field.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
a. bellenir [Mon, 11 Mar 2019 17:39:00 +0000 (13:39 -0400)]
LP1775639: Refresh required to see Patron Credit
reload patron data when applying a payment
if the payment will change the patron's credit forward balance.
To test
-------
[1] Bill a patron, then make sure that the "Convert Change to Patron
Credit" checkbox is checked. Pay bill with more than the total
balance. Note that the Credit Available amount in the billing
summary does not change. Refresh the page.
[2] Bill a patron, then use the patron credit added in step 1 to
pay off the bill. Note that again, the Credit Available amount
does not change.
[3] Apply the patch and repeats steps 1 and 2. This time, the Credit
Available field should get updated.
LP#1440890: add vandelay_queue to the types of containers retrieved by batch edit
To test
-------
[1] Perform a batch bibliographic record import, then add the import
queue to a new bucket.
[2] In the web staff client, go to Cataloging | Batch Edit.
[3] Note that the bucket created in step 1 does _not_ appear in the
bucket selector on the batch edit page.
[4] In the web staff client, go to the record bucket and hit the
Batch edit button.
[5] Note that the bucket created in step 1 does _not_ appear in the
bucket selector on the batch edit page.
[6] Apply the patch and repeat steps 2-3. This time, the bucket
should appear in the selector.
[7] Repeat steps 4-5. This time, the bucket should appear in the selector
(and be the active choice).
Jane Sandberg [Thu, 6 Dec 2018 23:49:40 +0000 (15:49 -0800)]
LP1760599: Only show merge records action when multiple bucket records selected
To test:
1) Create a bucket.
2) Select one record from your bucket. Right-click on your record or click on the Actions drop-down.
3) Note that "Merge Selected Records" is clickable.
4) Apply this commit.
5) Repeat steps 2-3. Note that "Merge Selected Records" is no longer
clickable, unless you select two or more records.
Jason Boyer [Thu, 7 Feb 2019 18:48:13 +0000 (13:48 -0500)]
LP1790896: Receipt Errors with invalid emails
The attempt at belt-and-suspenders checking for a valid
email for use in the has_email template field sadly
causes the JS to trip over said suspenders if there is
a value in the field but it doesn't contain a '@'.
The raw return from "".match() (either an array or null)
is enough to do the right thing when converted into a
Boolean and doesn't cause the same problems.
To test
-------
[1] Set up a patron record with an invalid email address,
e.g., one that lacks the '@' character.
[2] Check out an item the patron, then from the Items Out
tab, print an item receipt.
[3] Note that nothing happens and an error is logged in the
browser console.
[4] Apply the patch and repeat step 2. This time, a receipt
should be generated.
Lp 1768987: Use FindBin in 24-sql-gettext-unique.t.
Use FindBin in the 24-sql-gettext-unique.t test file so that it can be
run from directories other than Open-ILS/src/perlmods.
To test
-------
[1] Apply the patch.
[2] From the root of the Evergreen checkout, run
prove Open-ILS/src/perlmods/t/24-sql-gettext-unique.t
[3] Verify that the tests pass.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Remington Steed [Mon, 20 May 2019 21:20:08 +0000 (17:20 -0400)]
Docs: fix uneven lengths of code delimiter blocks
This continues the work that Dan Scott started, fixing more unmatching
start/end lines around code blocks, as revealed by the sad-looking HTML
output of asciidoctor.
This commit also fixes a few heading underlines of the wrong length.
Daniel Pearl [Wed, 12 Dec 2018 17:51:07 +0000 (12:51 -0500)]
LP#1029601: Prevent duplicate holds from double clicks
Double clicking on hold submit buttons causes multiple holds to be
generated. This commits adds code to disable the Submit button(s)
after the first click, so subsequent clicks don't "work" in unintended
ways.
Signed-off-by: Dan Pearl <dpearl@cwmars.org> Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Jason Stephenson <jason@sigio.com>
Remington Steed [Mon, 5 Nov 2018 18:55:25 +0000 (13:55 -0500)]
LP#1774707: Allow saving Group Member Details grid settings
For a web staff eg-grid to save and retrieve its settings, it needs a unique
persist-key. This commit adds one for the Group Member Details grid (which is
within the patron record view).
Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
LP#1669120: Make scrollable dropdown height match column picker
To make scrollable dropdowns more usable, let's make them the same
height as the grid column picker dropdown. This is a quick, simple
improvement, and it follows precident with a frequently used feature
(column picker, which has no known complaints).
Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Tue, 14 May 2019 17:03:35 +0000 (13:03 -0400)]
LP1813633 TCN search can find deleted records
As with the XUL client, when performing a bib record TCN search
(Cataloging -> Retrieve Record By TCN), first look for non-deleted
records with the requested TCN. When none are found, perform a
secondary search for deleted records with the requested TCN.
To test in concerto:
[1] Navigate to Cataloging -> Retrieve Record By TCN
[2] Search for TCN value "10", which is deleted by default in Concerto.
[3] Confirm the deleted record is loaded.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Garry Collum <gcollum@gmail.com>
Jeff Davis [Fri, 8 Jun 2018 19:09:54 +0000 (12:09 -0700)]
LP#1788680 prevent copy template apply failure on null stat cats
Under some circumstances, the current code can result in a JS failure:
Cannot read property 'filter' of undefined
When this happens, the copy template may apply partially or not at all.
This change simply makes sure cp.stat_cat_entries() exists before
attempting to filter it.
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Jason Stephenson [Thu, 25 Apr 2019 22:11:59 +0000 (18:11 -0400)]
LP1820339: Vandelay Imports on Pg 10
The previous commit used a function that only exists in Pg 10, so it
would require everyone to upgrade PostgreSQL.
After some investigation, Ben Shum and I found a method that works on
Pg 9.4 through Pg 10 by putting the existing function into a
subselect as suggested by PostgreSQL documentation.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Ben Shum <ben@evergreener.net> Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Jason Boyer [Fri, 15 Mar 2019 19:35:26 +0000 (15:35 -0400)]
LP1820339: Vandelay Imports on Pg 10
In vandelay.flatten_marc_hstore there are a couple
instances of set-returning functions used inside a
CASE statement, which Pg10 is unhappy about. This
branch changes these regexp_matches calls to use
regexp_match instead which avoids this error.
Signed-off-by: Jason Boyer <jboyer@library.in.gov> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Ben Shum <ben@evergreener.net> Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Jason Boyer [Mon, 3 Dec 2018 13:11:29 +0000 (08:11 -0500)]
LP1806394: Placing Holds in Item Buckets
A missing return prevents a list of item ids from
being built so no holds can be placed from item
buckets. This branch returns the return to its
proper place.
To test
-------
[1] Add some items to an item bucket, ensuring that they are
all holdable.
[2] From the item bucket interface, select the items and choose
the Request Selected Items action.
[3] Confirm placing the requests.
[4] Note that the requests are not actually created.
[5] Apply the patch and repeat steps #1-#4. This time, the requests
should be placed.
LP#1826890: set page title for Statistical Popularity Badges admin page
To test
-------
[1] In the browser client, navigate to Local Administration -> Statistical
Popularity Badges
[2] Note that the web browser's tab header doesn't display a title for the
page, just the URL.
[3] Apply the patch and reload the page. This time, a page title should
be dispayed in the browser's tab header.
Mike Rylander [Fri, 14 Sep 2018 13:52:03 +0000 (09:52 -0400)]
LP#1792188: Record -> View Holds fails to refresh on Next/Prev record
Here we clean up and add back a call to refresh the holds list when navigating
between records in a result set.
To test
-------
[1] In the web staff client, perform a catalog search, bring up a record,
and change to the View Holds tab.
[2] Click the "Next" button to navigate to the next hold. Note that
the list of holds doesn't change.
[3] Apply the patch, refresh, and repeat steps #1 and #2. This time,
the list of holds should get updated as you navigate between
records in the results list.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: John Yorio <jyorio@equinoxinitiative.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
LP#1782014 Fix grid path for Title in patron items out
When the Items Out grid was updated to use display fields, the
displayed title was updated (along with the fleshed data in the
javascript) but the grid "path" was not. This commit fixes the path,
which fixes title sorting. (Title sorting broke because the
simple_record.title was no longer being fleshed in via the JS code, so
the grid was attempting to sort on an empty value.)
Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Jason Stephenson [Tue, 18 Dec 2018 14:26:11 +0000 (09:26 -0500)]
Lp 1752968: Select content when focusing on the barcode field.
To reproduce the reported behavior:
1. Find a title in the staff client catalog.
2. Click on Add Holdings.
3. See that the Barcode field does not have cursor focus.
4. Repeat step 1.
5. Click on edit next to one of the barcoded items in the list of
holdings.
6. Click Show Holdings Details and see that the Barcode field does
not have focus and the content is not selected.
To test this branch:
1. Find a title in the staff client catalog.
2. Click on Add Holdings.
3. See that the Barcode field has cursor focus, i.e. the cursor is in
the field and blinking.
4. Repeat step 1.
5. Click on edit next to one of the barcoded items in the list of
holdings.
6. Click Show Holdings Details and see that the Barcode field has
cursor focus and the content is selected/highlighted.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Janet Schrader <jschrader@cwmars.org>
Volume transfer did not honor the cat.bib_keep_on_empty organizational
unit setting when removing empty bib records. This commit changes it
so that tranfer honors the setting in the same manner that deleting
copies and volumes does.
To test this fix, set cat.bib_keep_on_empty for your workstation
org. unit to true, and then transfer all of the volumes from one bib
record to another. The empty bib record should not get deleted.
You can also test with the setting on false to make sure that the
empty bib gets deleted.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Beth Willis <willis@noblenet.org>
Jeff Davis [Fri, 5 Apr 2019 18:08:55 +0000 (11:08 -0700)]
LP#1823387: avoid double slashes in booking URLs, which will not work with recent versions of Apache
Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Wed, 24 Apr 2019 13:19:40 +0000 (09:19 -0400)]
LP1642036 Group member detail grid query repair
Teach the grid to automatically use the current version of the grid
query in group member details lookup, since the query changes as
patron's change and is sometimes applied after the grid has already
absorbed the setQuery function.
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 [Mon, 17 Sep 2018 15:26:11 +0000 (11:26 -0400)]
LP#1793005 Angular6 Hatch support / printer settings
Adds support for Hatch print communication to the Angular(6) app.
Migrates the print preferences settings (eg.print.config.*) from
in-Hatch settings to server-stored workstation settings.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: blake <blake@mobiusconsortium.org>
Jason Boyer [Thu, 28 Jun 2018 18:36:27 +0000 (14:36 -0400)]
LP1778940: Add Indexes to ate.*_output
When there are many rows in action_trigger.event_output
simply ensuring referencial integrity can take an
unacceptably long time as Postgres has to make sure
that the output being deleted isn't referenced in
any of these 3 fields. Adding these indexes keeps
these checks always fast.
LP#1825578: reverse direction of sort-order arrows in eg-grid
This patch adjusts the arrow icons used to indicate if a column
in the Angular eg-grid is sorted to use the following convention:
sort order ascending == display _up_ arrow
sort order descending == display _descending_ arrow
To test
-------
[1] Apply the patch.
[2] In a grid with a sortable column (as can be found in /eg2/en-US/staff/sandbox),
click on the heading to sort it. Verify that ascending sort displays
the upwards arrow and descending sort the downwards.
Bill Erickson [Mon, 4 Mar 2019 16:12:33 +0000 (11:12 -0500)]
LP1818288 WS Option to pre-fetch record holds
Adds a workstation setting allowing staff to decide whether to pre-fetch
all holds on the record detail holds tab, to perform sorting paging in
the client, or to leave the sorting/paging on the server.
Improves client-side sorting in the grid.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Bill Erickson [Mon, 4 Mar 2019 16:11:24 +0000 (11:11 -0500)]
LP1818288 Grid checkboxes emit events
Modify the grid toolbar checkbox onClick handler to emit events instead
of requesting a reference to a function. This is more consistent with
other event-handling code.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Bill Erickson [Sat, 16 Feb 2019 19:42:14 +0000 (11:42 -0800)]
LP1818288 Ang staff catalog record detail holds tab/actions
Adds support for the Holds tab in the record detail view of the Angular
staff catalog. Includes grid and hold-related actions.
* Holds grid built from the new wide-holds API.
* batch cancel holds
* batch retarget holds
* batch edit holds
** Unified form to modify notify options, dates, etc.
* hold detail page (menu and row double-click)
* batch mark items damaged
* batch mark items missing
* show last few circulations
* retrieve patron
* support for indented menu groups a la angjs grids for grouping the
hold actions menu.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Dan Scott [Fri, 12 Apr 2019 03:17:10 +0000 (23:17 -0400)]
Docs: fix uneven lengths of code delimiter blocks
The lengths of the starting and ending sets of hyphens are supposed to be the
same. Asciidoc tools like asciidoctor can be less forgiving than the original
asciidoc processor, with less than hilarious results.
It would probably make sense to try to standardize on something like 60 hyphens
to easily flag this problem for deviations from the norm, but for now here's
the result of running the docs through asciidoctor and manually adjusting the
output.
Jane Sandberg [Sun, 20 May 2018 16:00:48 +0000 (09:00 -0700)]
LP1744386: Alphabetize stat cats in volcopy attr editor
To test:
1. Go to the volume copy editor. Confirm that the stat
cats do not display in order of owning library or stat cat
name.
2. Apply this commit.
3. Go to the volume copy editor. Confirm that the stat
cats now display in alphabetical order by owning library,
then stat cat name.
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Dan Scott [Sun, 13 May 2018 14:59:24 +0000 (10:59 -0400)]
LP#1666987: Include a user-agent to build the relator map
loc.gov started using Cloudflare protection to block HTTP access from default
user agents, so identify ourselves as an Evergreen user agent to restore our
access.
Long term we should evolve to using the linked open data access method
via id.loc.gov but let's get this working first.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Bill Erickson [Wed, 27 Mar 2019 16:43:32 +0000 (12:43 -0400)]
Coerce numbers for bib IDs in Angular staff catalog
Under some circumstances, the search results screen in the new
experimental Angular staff catalog did not display any results (though
it did show the pager, facets, etc.).
This was traced back to the results array attempting to be populated
with ID values of '-1' instead of the real IDs. Coercing the incoming
IDs to numbers appears to resolve the issue.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Bill Erickson [Mon, 25 Mar 2019 20:29:27 +0000 (20:29 +0000)]
LP1811288 Allow Combobox to default to field id
If a combobox field is provided without a label, use the id value as the
display value. This helps avoid ugly JS errors while trying to format
a null string.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Bill Erickson [Fri, 22 Mar 2019 21:43:34 +0000 (14:43 -0700)]
LP1811288 Admin grids preload combobox values
Adds a global option to the fieldmapper editor component to preload
linked selector values by default. Update the basic admin pages to use
the new flag to preload comboboxes.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Bill Erickson [Wed, 20 Feb 2019 18:51:36 +0000 (13:51 -0500)]
LP1811288 Basic admin page readonlyFields repair
Fix a bug in the basic admin page component that prevented the readOnly
fields from successfully propagating to the fieldmapper editor.
To Test:
1. Navigate to /eg2/en-US/staff/admin/booking/resource_type
2. Click "New Resource Type"
3. Confirm the "Bibliographic Record" field is disabled.
Includes ng-lint repair as well.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Bill Erickson [Thu, 10 Jan 2019 23:04:59 +0000 (18:04 -0500)]
LP1811288 Angular fm-editor uses combobox
* Linked field options traditionally rendered via <select> are now
rendered with an eg-combobox.
* Caller has option to force a combobox to preload values or rely solely
on typehead.
* Caller has option to provide a canned list of combobox values.
* Caller has option to set / override which field on the linked class
should searched by the typeahead
* General improvements to fm-editor form building and field options
management.
* Includes Angular7 rxjs import repairs
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Dan Wells <dbw2@calvin.edu>