This adds to the Angular sandbox page a demo of implementing
cross-tab communications using BroadcastChannel. To quote the
instructions added by this patch:
"To test, open this sandbox in a second browser tab.
Enter something in the input box below, then switch to the other tab
and click anywhere on the page. You should see the message that you
sent to the other browser tab."
Sponsored-by: MassLNC Sponsored-by: Georgia Public Library Service Sponsored-by: Indiana State Library Sponsored-by: CW MARS Sponsored-by: King County Library System Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
LP#1812900: fix retention of saved defaults in holdings editor
Because the $watch on the statistical category default OU filter
in the holdings editor can fire before the form is fully initialized,
saved defaults (i.e., the cat.copy.defaults workstation setting)
could get overwritten with the hard-coded default value for that, er,
set of defaults.
This patch ensures that that $watch saves the defaults only when the
value of the default stat cat OU filter has changed.
To test
-------
[1] Use the holdings editor on an item. Change to the defaults
tab and check or uncheck checkboxes such as "Use checkdigit"
and "Print Item Labels on Save and Exit"
[2] Refresh the page or open the holdings editor on a different item.
Note that the settings from step #1 are not retained.
[3] Apply the patch.
[4] Repeat steps #1 and #2. This time, the settings should be retained.
[5] Set the Default Filter Library in the same tab and refresh. Verify
that the OU you chose is retained.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: John Amundson <jsamundson@cwmars.org> Signed-off-by: Janet Schrader <jschrader@cwmars.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
Add a title attribute to the top-right menu in the AngularJS form of the
navbar.
Signed-off-by: Sam Link <slink@LIBPC002> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
LP 115706: Avoid Internal Server Errors with Hold Count Retrieval
It can happen that the query to get a record's hold count can run too
long and timeout or fail for some other reason. When this happens,
the user sees an Internal Server Error. The underlying cause is the
following Perl error:
Can't use an undefined value as an ARRAY reference at
/usr/local/share/perl/5.22.1/OpenILS/Application/Circ/Holds.pm line
4264.
This commit rearranges the code around that line to avoid this
particular undefined value reference error.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Kyle Huckins [Fri, 24 May 2019 17:16:00 +0000 (17:16 +0000)]
lp1789257 Items Out Monograph Part Column
Retrieve and display the label of all monograph parts for
copy listed in the Items Out table
To test
-------
[1] Apply the patch.
[2] Check out an item that has one or more monograph parts
linked to it.
[3] Verify that the Monograph Part column is available in the
Items Out grid and displays the part label(s). An example
of an item in the Concerto set that has a part is
CONC70001420.
Galen Charlton [Wed, 29 May 2019 21:39:19 +0000 (17:39 -0400)]
LP#1830972: update pin and add comments about keeping things in sync
This patch updates the angular/cli version to ^7.0.7 to match package.json
and adds comments about keeping the pin in sync between package.json
and Makefile.common.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Tue, 12 Mar 2019 16:56:47 +0000 (12:56 -0400)]
LP1819745 Ang staff result page link repairs
Title, Title-by-Jacket-image, Author, and Facet links in the Angular
staff catalog now behave like regular browser links, which means they
can used to open new tabs via control-click, etc.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Bill Erickson [Thu, 7 Mar 2019 18:55:04 +0000 (13:55 -0500)]
LP1819053 Angular staff catalog basket export
Adds a new "Export Records" option to the staff catalog basket menu.
When selected, the user is directed to the Vandelay record export
interface, which will be set to "basket export" mode. Staff can then
apply export preferences (usmarc, marxml, etc.) and export the basket
records. In "basket export" mode, Vandley provides a link to return to
the catalog (preserving search params).
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Adds a @Input() showDeclaredFieldsOnly option which tells the grid to
avoid showing auto-generated columns by default and only show those
declared in the markup.
Also repairs a grid column sorting/insert bug where declared columns
would be displayed in the wrong order when mixed with auto columns.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Bill Erickson [Tue, 26 Mar 2019 15:23:22 +0000 (11:23 -0400)]
LP1821382 Grid scroll menu repairs
Make scrollable menus require addition of a class so the CSS does not
apply to all drop-down menus. Specifically, it makes less sense to use
scrollable menus for the main menu bar.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Bill Erickson [Fri, 8 Mar 2019 15:38:43 +0000 (10:38 -0500)]
LP1748265 Hold fetch API sms_carrier option
Support a new "include_sms_carrier" option to the holds retrieve API so
the data may be fetched along with the hold instead after the fact in
the patron holds list, etc.
Garry Collum [Sun, 3 Jun 2018 19:54:25 +0000 (15:54 -0400)]
LP#1748265 SMS Carrier not an option in the patron's list of holds.
Adds SMS Carrier name as an option in the patron's list of holds.
To test:
1. Set 'Enable features that send SMS text messages' in the Library Settings to true.
2. Place a few holds for a patron, selecting text message notification.
3. Go to the patron's record and view their holds.
4. Display the 'Notifications SMS Carrier' column to view the carrier name.
Signed-off-by: Garry Collum <gcollum@gmail.com> Signed-off-by: Dawn Dale <ddale@georgialibraries.org> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Sam Link [Wed, 2 Jan 2019 19:04:00 +0000 (14:04 -0500)]
LP1736967 Primary a CSS Styling Fix
Added a "link" color to src\templates\opac\parts\css\colors.tt2 matched
to the default dark green of the css_colors.primary, and set
the anchor color in templates\opac\css\style.css.tt2 on line 37 to use
css_colors.link.
Signed-off-by: Sam Link <slink@LIBPC002> Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Garry Collum [Sat, 19 May 2018 21:00:40 +0000 (17:00 -0400)]
LP1772206 Tooltips missing from Patron Summary
Adds tooltips for home branch and Last Activity to emulate the XUL
client. The home branch tool tip displays the long OU name. The
last activity tooltip displays the last type of activity.
To test:
Home branch
1. Perform a patron search.
2. Click on one of the patrons in the results.
3. Hover over the home branch location in the patron summary.
Last Activity
4. Log into the opac with a patron account to some patron activity.
5. Bring up the patron in the staff client.
6. Hover over the last activity date.
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>