Rogan Hamby [Tue, 21 Nov 2017 23:50:34 +0000 (18:50 -0500)]
LP#1731960-preserving book bag entries with new values during bib merge
The asset.merge_record_assets() removes bib records from containers when
merging and deleting the record as appropriate but bib containers with
the btype of 'bookbag' (used as reading lists) should instead be updated
to the new bib record. Includes Pgtap test.
Now that we are fleshing this field, we need to dig a little deeper
for the 'id' to test if we are the same user.
To test
-------
[1] Set up a patron with a hold request and with a item
on the hold shelf that fills the hold.
[2] Check out the item to patron. Note that you
will get a ITEM_ON_HOLDS_SHELF alert, even though the
item is on hold for that patron. Cancel the alert.
[3] Apply the patch and repeat step 2. This time, the checkout
will proceed.
[4] Set up another patron with a hold request and an item
on the hold shelf, then checkout it at to a _different_ patron.
Verify that the ITEM_ON_HOLDS_SHELF alert appears.
This patch also fixes test failures caught by the
19-lp1306666-abort-transit-copy-status.t live test.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
* Make paths to expire_time and cut_in_line more concise
* Add SMS Carrier column back
* Tweak labels of the patron first and last name columns
* Ensure that the "Call Number" column continues to be sortable
by normalized call number label. Note that due to a quirk of
egGrid, which doesn't currently have a way to specify that a column
always be retrieved by a fielder query but /not/ be directly
available as a displayable column, we also need a "Call Number Label"
column at the moment.
Cesar Velez [Tue, 30 Jan 2018 18:13:52 +0000 (13:13 -0500)]
LP#1728147 - fix some Holds Pull List grid columns
This adds a few missing columns to the Holds Pull List grid,
and addresses a few display issues.
New columns added are Hold Type, Circ Mod, Staff Hold,
Email/Phone/SMS Notify, Copy Status Change Time, ISBN,
Edition, Top of Queue, Total Holds, and Expire Date.
The current Flattener.pm autogenerates necessary joins for sorting
and filtering, but in doing so, it gives every intermediate table a
unique alias, even if the path to that table is exactly the same as
another member in the map we are flattening.
Instead, let's reuse joins whenever the path is identical, even for
intermediate tables. We do so by tracking every path to each core
type, then reusing as much of that join path as we can. In cases
where we have different paths to the same type, we still necessarily
provide a new unique alias.
This problem was first noticed in the web staff billing history
interface, where the particular stacking of joins resulted (for one
specific library) in 17 joins and 44,575,740,147,225,592,344,870,912
potential rows.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Cesar Velez [Fri, 19 Jan 2018 19:43:38 +0000 (14:43 -0500)]
LP#1702557-Make Acq MarcEditor Just Have Save Button
Like the changes to the z3950 marceditor UI, and serials,
make the Acq marceditor have a simple Save button, instead
of the Modify + Save Edits buttons needed to save a change.
Same change as in 1710405, et al. Note this also fixes a
propagation issue that prevented changes from marceditor's
scope.marcXml from making it to the modal controller scope,
and being saved. Props to miker for helping me debug this!
Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Bill Erickson [Mon, 19 Mar 2018 19:22:44 +0000 (15:22 -0400)]
LP#1361258 Patron reg repair user settings saving/loading
Avoid caching user setting values at the service (app) level in the user
editor. In other words, always fetch a fresh copy of the current user's
setting with each instance of the editor page.
This solves a number problems where stale versions of the cached data
were referenced and acted on, both when displaying an updating user
settings.
Additionally, ensure that clone user and stage user data is refreshed
on all page instances as the URL params that affect these values can
change per instance.
Other data that is common to all instances (e.g. the set of profile
groups) is still cached as before.
Mike Rylander [Wed, 10 Jan 2018 16:25:27 +0000 (11:25 -0500)]
LP#1742779: Distinguish between no statcat values and multiple values in copy editor to assist staff
WRT stat cats, the copy editor in the web client will display the value of a
stat cat IFF all selected copies both use the stat cat AND use the same value
for that stat cat. Otherwise it displays <NONE>, which is confusing in the
case of some selected copies just not using the stat cat, or all selected
copies using it, but using different values.
This commit provides tracking of the mixed-use stat, and displays <MULTIPLE>
for the value instead of <NONE> in that case.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Jeff Davis [Mon, 12 Mar 2018 18:09:23 +0000 (11:09 -0700)]
LP#1752983: sort circ modifier list in precat checkout
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jeff Davis [Thu, 15 Mar 2018 21:58:16 +0000 (14:58 -0700)]
LP#1755892: ensure profile is fleshed in patron search
To test
-------
[1] Do a catalog search or retrieve a record in the web staff client.
[2] Click Place Hold.
[3] On the place hold screen, click Patron Search.
[4] Search for patrons (e.g. last name = "smith"). In the results grid,
the Profile column is empty.
[5] Apply the patch and repeat steps 3 and 4. This time, the Profile
column should contain the profile name.
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
The use of splice() here caused buggy behavior and seemed to be a typo,
so I tried using slice() instead. But that still didn't work correctly.
The list stopped adding items after it reached 21 total, so scanning a
new barcode didn't add it to the list but only refreshed the list.
Instead, this commit sets the length of the array to 20, which shortens
the array as described in the MDN documentation for Array.length. Now it
behaves like it did in the XUL client.
Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jeff Davis [Wed, 14 Mar 2018 22:10:23 +0000 (15:10 -0700)]
LP#1743045: skip redundant grid refresh on checkin
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Galen Charlton [Sat, 17 Mar 2018 17:38:01 +0000 (13:38 -0400)]
LP#1756572: accessibility tweaks to links in webstaff client
This patch changes the default
text color of text inside egGrid cells to #000; changes the default text
color to #000 (but note that more work would be needed to do this
comprehensively); and adds underlines to links inside grid cells.
Somehow egBasicComboBox got missed when it became necessary to
switch to the newer way of specifying Bootstrap drop-downs. This
patch rectifies that and fixes the drop-down functionality.
To test
-------
[1] Create a report template in the web staff report editor and
add a filter field.
[2] Attempt to change the filter operator. Note that nothing happens
when the drop-down button is clicked.
[3] Apply the patch and repeat step 2. This time, the drop-down
should work and display the list of available filter operators.
Other places affected include:
- The part selector in the volume/copy editor
- Template selector in the volume/copy editor
- Template selector in the labels interface
- Routing label selector in the subscription manager
- Call number prefix and suffix selectors in the serials batch receiving
interface
Galen Charlton [Tue, 6 Mar 2018 23:00:23 +0000 (18:00 -0500)]
LP#1721807: fix webstaff report templates that have might_have and has_many joins
This patch fixes a bug where using a virtual field in the web staff
report template editor to join another table would result in a syntax
error in the generated SQL.
To test
-------
[1] Apply the patch and verify that the regression test in the previous
commit passes.
[2] Create new report template in the web staff client that include
virtual fields and joins and verify that they work. One example
would be a report that uses ILS User as the base source and joins
in the patron notes virtual field.
[3] If available, clone a report template originally created in the web
staff client that had previously failed, then save it. The new
report should work.
This adds an automated regression test as well as some additional
unit tests for the web staff reporter app and template service. This
patch could be applied by itself to verify that the regression
test (run using 'npm run test' for master or 'grunt test' for rel_3_0)
fails.
Kathy Lussier [Tue, 6 Feb 2018 16:40:11 +0000 (11:40 -0500)]
LP#1746365 Change default staff link colors to provide adequate contrast
The default link color from bootstrap works well on white backgrounds, but
doesn't provide adequate contrast once the background color is changed.
This introduces accessbility problems, particularly in cases where linked
text displays on a selected grid row that uses a light blue background
color. This change provides a darker default link color.
Remington Steed [Fri, 16 Mar 2018 15:18:11 +0000 (11:18 -0400)]
Docs: Add aspell wordlist to improve spellchecking
To spellcheck the docs:
- Go into the docs/ directory.
- Copy the wordlist to your home directory (making a backup of your
existing wordlist, if you have one):
- cp --backup .aspell.en.pws ~/
- Run 'aspell' over all AsciiDoc files, except release notes. Don't
need to create backup files, since we're under version control. This
runs the interactive spellchecker; use it to fix incorrect words, or
add new correct words to the wordlist:
- for f in $(find . -name '*.adoc' -and ! -name 'RELEASE*'); do
aspell check --ignore-case --dont-backup $f; done
- Review your changes:
- git diff
- Commit spelling corrections in one commit. Noteworthy changes should
be included in the commit message.
- Commit changed wordlist in a separate commit.
Remington Steed [Fri, 16 Mar 2018 14:58:17 +0000 (10:58 -0400)]
Docs: Spell check corrections
I walked through all the docs (except for release notes) and made a
number of small corrections. Most of them are simple typos, but there
are a few special cases:
- In cases where the correction required matching with actual code or
labels in Evergreen, those were checked to make sure the correction
matched.
- Changed spelling of "correct" word "Transcendent" to match database
spelling "transcendant"
- Changed very informal contractions "it'll" and "that'll" to "it
will" and "that will". Same for "whatever's" to "whatever is".
- Changed very informal expressions: "handwaving" to "glossing",
"modernish" to "modern", "deduping" to "deduplicating".
- Changed "unclick" to "uncheck" (regarding a checkbox)
According to commit cac16285aca, the acq admin menu is supposed to be in
alphabetical order. However, one item remains out of place. This commit
fixes that.
Galen Charlton [Mon, 5 Feb 2018 23:04:12 +0000 (18:04 -0500)]
LP#1691263: discourage input of newlines in MARC editor
This patch catches and discards enter keydown events when the
focus is in a contenteditable subfield value div; otherwise, newlines
can infect the MARC record.
Cesar Velez [Mon, 4 Dec 2017 17:45:35 +0000 (12:45 -0500)]
LP#1691263: make webstaff MARC editor wrap long fields
This patch makes the MARC editor wrap long fields (e.g.,
bibliographic 505 fields) so that they fit the width of the enclosing
window or modal. The approach taken is replacing the text input
elements with contenteditable divs, which in turn can be better
styled.
To test
-------
[1] Apply the patch.
[2] Locate a record with a long 505 field and open it in the
MARC editor. Verify that the contents of the field wrap.
[3] Verify that record editing and saving work as expected.
Remington Steed [Wed, 14 Mar 2018 12:54:52 +0000 (08:54 -0400)]
Docs: Fix AsciiDoc list formatting
AsciiDoc lists (numbered or bulleted) generally need to be preceded by a
blank line. If not, they will be absorbed into the previous paragraph of
text. This commit fixes two occurrences of this.
Morkor Quarshie [Wed, 28 Feb 2018 21:27:05 +0000 (16:27 -0500)]
Docs: Update Authorities.adoc
- Revised instructions to match web client.
- Added new screenshots.
- Improved instructions for "Non-filing indicator".
- Minor line formatting changes.
Morkor Quarshie [Tue, 6 Feb 2018 21:24:10 +0000 (16:24 -0500)]
Docs: Add directions for configuring columns
Includes screenshots and instructions on how to expand, shrink and move
columns left and right. Also updates some explanation to match how the
web client stores column settings.
blake [Mon, 13 Jun 2016 20:58:13 +0000 (15:58 -0500)]
LP1411422 Copy details repeated in search results when item/volume moved with parts attached
Added the code in perl to respect the existence of parts. Both "transferring volume"
and "transferring items". "Transferring items" was coded to use
open-ils.cat.asset.copy.fleshed.batch.update which means most of the work was done in js.
The web based staff client is coded to use open-ils.cat.transfer_copies_to_volume.
Decided to use that method for xul as well. Making it more consistent with the "transferring
volume" code. Considered coding it to move the part level holds to the destination part but
it's possible that the source part still has items.
Signed-off-by: blake <blake@mobiusconsortium.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
Avoid attempts to directly import angular-tablesort.js from the offline
interface. The script is already included in vendor.bundle.js and the
direct import, which refers to a nonexistant file, breaks the Perl live
test for offline dependency checking.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jason Stephenson <jason@sigio.com>
Chris Sharp [Wed, 21 Feb 2018 21:25:15 +0000 (16:25 -0500)]
LP#1750912 - Add add_translations.py convenience script to i18n tools.
This script was authored by Jason Stephenson, who has kindly
agreed to add it to the Evergreen source tree. As Jason suggested,
I modified the GPL version number to 2 to be in line with the
Evergreen project's licensing requirements.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Remington Steed [Mon, 12 Mar 2018 14:26:05 +0000 (10:26 -0400)]
Docs: Fix broken include in root.adoc
A recent commit added a section to root.adoc and root_cataloging.adoc.
The reference was correct in the second file, but in the first file was
missing the subdirectory. This commit adds it.
Remington Steed [Mon, 12 Mar 2018 14:02:54 +0000 (10:02 -0400)]
Docs: Remove docs not applicable in web client
A few docs chapters relate to features that don't exist (yet) in the web
client, so this commit removes those from the table of contents
(root*.adoc).
Also, duplicate content was found during the web client docs review, so
this commit removes the nearly identical docs file and replaces its
references with references to the slightly better version of the file.
Mike Rylander [Sat, 3 Mar 2018 18:29:17 +0000 (13:29 -0500)]
LP#1717593: Missing strings cause serial item delete (and status change) failures
There are two places in the code that expect a serial-related string to exist,
but neither do. So, let's correct that.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: John Amundson <jamundson@cwmars.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
Remington Steed [Thu, 8 Mar 2018 16:21:10 +0000 (11:21 -0500)]
Docs: Update "Alternate Hold Pick up Location" for web client
- New screenshot
- Remove instructions for changing location label (e.g. "Drive-thru")
- Wrap long lines to 72 characters (if those lines were changed)
Remington Steed [Wed, 7 Mar 2018 20:03:12 +0000 (15:03 -0500)]
Docs: Use raw ampersand '&' to fix conversion error
The AsciiDoc to DocBook conversion process seems handle raw ampersands
just fine, but sometimes chokes on the special entity forms like {amp}
or & . No more fancy talk. Just simple '&'.
Remington Steed [Wed, 7 Mar 2018 19:21:51 +0000 (14:21 -0500)]
Docs: Fix '&' DocBook conversion error
Using the AsciiDoc named character reference {amp} seems to have
converted to a plain '&' too early, causing the DocBook XML validation
to fail. Let's try a numerical reference: &
- Replace screenshots
- Reformat long lines to around 72 characters
- Convert numbered list to automatic numbering
- Update instructions to match web client
Kevin Tran [Thu, 15 Feb 2018 16:18:21 +0000 (11:18 -0500)]
Docs: Update "Managing Holds" for web client
- changed "Actions for Selected Holds" to "Actions"
- several new screenshots
- some instructions updated
- merged and updated steps 3.E - 3.F, and created a new screenshot "holds-managing-5 and 6.JPG" (that will take place of the two current screenshots)
Kevin Tran [Thu, 8 Feb 2018 16:02:02 +0000 (11:02 -0500)]
Docs: Update "Resetting Patron's Password" for web client
A new screenshot has been created. The description in the instructions
have been changed. Some button names have been updated and verify
password has been removed.
Dan Scott [Thu, 22 Feb 2018 15:40:00 +0000 (10:40 -0500)]
Link to the Optional: Developer Additions step
We were referring people to a previous section by text, but we
have the power of linking in HTML, PDF, and ePub, so let's do
that and ease the navigation.
As discussed at Hack-a-way 2016, rather than continue to try to cram
multiple meanings into one timestamp, let's create a complete set of
all the useful timestamps for a typical billing.
In this new config, every billing will have a 'create_date', then most
(overdues) will also describe when they start and end.
billing_ts is now deprecated, but will continue to exist for backwards
compatibility. It will be managed by trigger to approximate its
current definition; equal to 'period_end' for overdues, equal to
'create_date' for other billings.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Jeff Godin <jgodin@tadl.org>
LP#1748466: Fix http -> https /eg/staff rewrite on Apache 2.4.
Remove the SSLRequireSSL directive from the Location /eg/staff stanza
in Open-ILS/examples/apache_24/eg_vhost.conf.in so that the rewrite
from http to https works for the web staff client without the user
getting a 403.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Ben Shum <ben@evergreener.net>
[1] Create a patron that has at least two loans, one that is
overdue by 7 days and one that will be due in 3 days.
[2] Activate the '3 Day Courtesy Notice' and '7 Day Overdue Email Notification'
action trigger events, then generate events for those two loans
by running something like this:
Note that --run-pending is needed to ensure that the events are
complete, as the new columns include only checkout.due events
that are complete. (Pending ones don't count because no notification
would have yet made its way to the patron.)
[3] Apply the patch.
[4] Verify that the patron Items Out grid in the web staff client
now has Total Notices and Last Notice columns respectively
including the count of notices and the date of the last one.
[5] Turn on the webstaff.circ.itemsout_notice_count_excludes_courtesies
library setting and refresh the grid. This time, the courtesy notice
event should not be reflected by those two columns.
Cesar Velez [Fri, 8 Dec 2017 18:50:38 +0000 (13:50 -0500)]
LP#1732275: Patron Itemsout Notices - Add YAOUS for pre-due notices
Adding library permission 'webstaff.circ.itemsout_notice_count_excludes_courtesies'
so that pre-due/courtesy events aren't included in the notices count.
Cesar Velez [Mon, 13 Nov 2017 23:25:05 +0000 (18:25 -0500)]
LP#1732275: add open-ils.actor.user.itemsout.notices api
Add a method to Actor.pm to count completed action
trigger events for a given circ and return the latest
notice date. Uses the json_query for performance.
Add release notes for the new --uris option on marc_export.
To test the new option, run marc_export to export records with
holdings for a given library using the --library and --items options.
If that library also has electronic resources, do another export with
the same options but add the --uris option and direct this output to a
different file. Compare the file sizes. The second file should be
larger than the first.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>