Consistent with the XUL client, only display patron standing penalties
(AKA Messages) that are linked to an org unit which is an ancestor,
matching, or descendant org unit of the workstation (e.g. the full
path).
To test:
[1] Create a patron Message which applies to a branch using a branch or
null-depth penalty (e.g. at BR1).
[2] Create a second message that links to the root org unit (e.g. CONS)
via depth=0 penalty.
[2] Log out and back in to the browser client at a workstation under a
different section of the org unit tree (e.g. BR3) and confirm the
Messages created at BR1 do not display, but the messages created at CONS
do.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Apply correct org unit to patron penalties created in the web staff
client. Specifically, be sure the standing penalty depth value is
honored when set.
Commit replaces manual pcrud creation with the XUL-tested API, which
calculates the correct org unit by depth for us.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
- Change menu names to match web client ("Admin" to "Administration", and
"Server Admin -> Acq" becomes "Acq Admin")
- Fix list formatting where images were breaking a numbered list into
two lists
Remington Steed [Thu, 29 Mar 2018 12:51:28 +0000 (08:51 -0400)]
Docs: Update "Selection Lists" and "Invoices" for web client
- Update references to Acq Admin menu
- Make menu name formatting more consistent (should be bold or
italics)
- Remove outdated reference to old Evergreen version under "Activate
Purchase Order with Zero Copies"
Dan Scott [Wed, 21 Mar 2018 21:08:35 +0000 (22:08 +0100)]
LP1757526 Escape displayed catalogue data
Content in content fields (5xx) as well as for the names of locations in copy
count alt text was not being properly escaped, allowing for the possibility of
executing arbitrary JavaScript in the case of a malicious catalogue record
(whether edited in the system, or imported)
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Dan Wells [Fri, 23 Mar 2018 17:07:45 +0000 (13:07 -0400)]
LP#1699838 Scale back settings for staff-based hold placement
For now, we will add just one new setting to optionally restore the old
behavior. In the absence of a 'preferred pickup location', the staff
form will default to the staff workstation OU.
Also, add setting to seed data.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Conflicts:
Open-ILS/src/sql/Pg/950.data.seed-values.sql
Remington Steed [Fri, 23 Mar 2018 14:46:32 +0000 (10:46 -0400)]
LP#1693036: Simplify template, cleanup preview data
This commit corrects a few minor problems, and also attempts to simplify
and cleanup the template. The changes include:
- Adding the missing "ident_type2" field to the template and JS
- Adding missing sample data for "county"
- Moving "postal code" closer to the standard location (at the end of
the address)
- Fixing typos, and making "Claims..." labels more consistent
- Minor cleanup of the sample data
- Removing template comments that list available variables, because
this template is simpler than most, intended to print everything
Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Dan Wells <dbw2@calvin.edu>
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: &