This patch allows report templates of version 4 and earlier
(which would have been created by the XUL staff client) to
be upgraded to template version 5 (used by the web staff
client) when the user clones a report. This closes a limitation
introduced in the reporter module for the web staff client.
Note that during the conversion, inner joins are used by
default when IDL classes have a 'has_a' relation rather than
defaulting to left outer joins, improving correctness of the
generated SQL query.
To test
-------
[0] Apply the patch.
[1] In a test database that has reporter templates created
by (or for) the XUL staff client, create clones of
those templates.
[2] Verify that the output of reports created using the new
templates matches output of reports from the original
templates.
- Apply scaffolding fixes to Aquisition Patron Requests,
Circ Age to Lost, and Auto Print settings UIs, preventing
Org Selector from taking up entire width of screen.
The display behavior of the org selector changed when migrating to a
typeahead. In some cases, the boundaries of the input need to be more
clearly defined or it will fill the page horizontally.
This allows for type-to-entry of the org selector. A few additional
bits of logic are added to support click-to-open of the selector
regardless of the selected value.
Jason Etheridge [Tue, 10 Jul 2018 23:46:04 +0000 (19:46 -0400)]
lp1739286 default search box in Z39.50
This change tweaks the layout of search fields in the web client Z39.50
interface and adds radio buttons for the default search field to auto-focus.
The behavior is "sticky" without the need for an explicit Save action. If the
current default field is not present due to a given combination of selected
services, then no field will be focused by default.
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
LP#1792429: calculate queue position in correct order
This patch ensures that the relative hold queue position
displayed in the webstaff Hold Shelf and Record -> View Holds
interfaces is calculated in the correct order, i.e., (cut-in-line aside)
with holds requested earlier having a lower queue position than
holds requested later.
To test
-------
[1] Set up a bib with a number of hold requests.
[2] Under Record -> Viwe Holds, note that the queue
positions are reversed, with later holds having lower
queue positions.
[3] Apply the patch and repeat step #2. This time, the queue
positions should be correct.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Two long-overdue org unit settings made reference to "lost", being
apparently copied from the similar settings about lost items. This fixes
the wording, both in the settings database table and in the docs.
Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Kathy Lussier [Wed, 29 Aug 2018 14:58:20 +0000 (10:58 -0400)]
LP#1738688: Add cancel time to Most Recent Transits
Adds the transit cancel time to the Most Recent Transits section of
the Item Status Holds / Transit tab.
Test plan:
Place an item in transit and then cancel the transit. Retrieve the item in
Item Status / Detail View. In the Holds / Transit tab, there is no indication
the transit has been canceled before loading the patch. Post-patch, the
cancel time will display.
open a new staff client tab to the record's opac view, not a new opac tab
Signed-off-by: a. bellenir <ab@grpl.org> Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
This patch ensures that somebody who installs a maintenance
release of 3.0 or 3.1 that includes update 1130, then subsequently
upgrades to 3.2 *and* applies the schema update scripts piecemeal
doesn't suffer a regression on actor.usr_merge not updating
Vandelay session ownership or patron name keywords.
It's possible to merge a user with itself using the actor.usr_merge
database function. This does not produce a useful result. One ends
up with a user that is flagged deleted, has a null card field, and is
likely to have their addresses and other cards deleted from the
database.
A simple check at the top of the database function to bail if the
src_usr and dest_usr are the same prevents this from happening. That
is the change that this commit makes.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Chris Sharp [Tue, 7 Nov 2017 21:49:37 +0000 (16:49 -0500)]
LP#1269574 - Exclude backordered copies from deletion.
When canceling a lineitem with a cancel reason that
keep debits = true, make sure we don't delete those copies.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: John Amundson <jamundson@cwmars.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
Without the required attribute in the grid template
declaration, the Bill# column *had* to be enabled for
bill payments to work. This adds required attribute to
the Bill #, so that it's fetched regardless of whether
displayed or not, so posting payments work correctly.
Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org> Signed-off-by: John Amundson <jamundson@cwmars.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
Jane Sandberg [Mon, 10 Sep 2018 18:23:12 +0000 (11:23 -0700)]
LP 1743654: Removing a duplicate flesh_fields array entry
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: John Amundson <jamundson@cwmars.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
Jane Sandberg [Mon, 10 Sep 2018 18:16:51 +0000 (11:16 -0700)]
LP1743654: Fleshing out the Created By column in Item Status
To test:
1) Scan an item into Item Status.
2) Turn on the Created By column.
3) Note that the Created By column shows the ID of the user
that created the record.
4) Apply this commit and repeat steps 1-2.
5) Note that the Created By column now shows the creator's
user name as a link, which opens the creator's record in
a new tab.
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: John Amundson <jamundson@cwmars.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
Change "Circulation Modifer" to "Circulation Modifier" in two files.
This commit only addresses the obvious typos. I leave the Circ
Modifier versus Circulation Modifier debate as an open question. One
of my concerns is changing them all to one string may require some
reorganization of interfaces to avoid clunkiness.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Ben Shum <ben@evergreener.net>
Jane Sandberg [Mon, 10 Sep 2018 16:23:29 +0000 (09:23 -0700)]
LP1665052: Fix checkin workstation display on recent circs view
To test:
1) Go to Item Status > Detail View > Recent Circ History for
an item that is currently checked out.
2) Note that the Checkin Workstation field says
"{{circ.checkin_workstation.name()}}"
3) Apply this commit.
4) Note that the Checkin Workstation field is empty if an
item is an item hasn't been checked in, but is filled with
the appropriate workstation name after it has been checked
in.
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Ben Shum <ben@evergreener.net>
Apply the edi_message.account value when sending EDI order messages via
edi_order_pusher.pl. This solves a problem where EDI ORDERS message
were not visible in the interface, because there was no way to complete
the permission check.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jane Sandberg [Sun, 3 Jun 2018 22:50:40 +0000 (15:50 -0700)]
LP1010635: Make bre dates populate in Item Status grid
To test:
1) Enable the Date Record Created and Date Record Last Edited columns
in Item Status.
2) Scan an item barcode into Item Status. Note that the two columns
you enabled are empty.
3) Apply this commit.
4) Reload the Item Status screen, and scan your barcode again. The
dates should now be populated.
Add support for approving pending patron addresses in the webstaff
patron edit interface.
To test:
[1] Enable the pending address org unit setting.
[2] Log into the catalog and "edit" an address.
[3] Edit same user in staff client and use the Approve action.
Dan Scott [Sun, 3 Jun 2018 18:34:04 +0000 (14:34 -0400)]
LP#1774886 Distinguish Phys Char Wizard with an edit icon
As both authority fields and the Physical Characteristics Wizard for 007 use
the same glyphicons-link class, it's not obvious to new users of the MARC
editor that the icons result in radically different actions.
Change the 007 icon to glyphicons-edit to reflect that it opens an editor
interface.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
LP#1791184: ensure that 'make clean' doesn't delete pingest.pl
This patch corrects an issue where pingest.pl was treated as if
it were generated from a pingest.pl.in source file during the configure
step, meaning that it got deleted by 'make clean'. This patch also
adds a couple helpful comments.
To test
-------
[1] Apply the patch.
[2] From a git checkout, run the configure and make steps, followed
by a 'make clean'. Verify that pingest.pl is not deleted from
the source tree.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
This patch discourages use of the legacy XUL staff client
by adjusting the installation process so that a versioned XUL
server directory is not created. Instead, by default XUL
server files (which is still needed by a few web staff client
interfaces) end up in /openils/var/web/xul/legacy. During installation
and upgrade, the /openils/var/web/xul/server symbolic link is
set to point to /openils/var/web/xul/legacy/server if possible.
If for some reason a given installation of Evergreen 3.2.x does not
wish to stop using the XUL staff client, STAFF_CLIENT_STAMP_ID
can still be provided during the 'make install' step, and the
make_release script can still create the XUL client installers
if given the -x switch.
Note, however, that use of the XUL staff client in 3.2.x is
NOT RECOMMENDED and no longer under any guarantee of community
support.
To test
-------
[1] Perform a fresh installation and verify that /openils/var/web/xul/legacy
is created and that /openils/var/web/xul/server is a symlink
pointing to /openils/var/web/xul/legacy/server.
[2] Verify that the web staff client works and that the
user permissions editor in particular continues to work.
[3] Perform an upgrade; verify that /openils/var/web/xul/legacy exists
and that if /openils/var/web/xul/server started out as a symlink,
it has been repointed.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
LP#1775466: tweak how make_release prunes eg2/node_modules
Need the -f since some stuff under eg2/node_modules/.cache
ends up as 0444 for some reason, meaning that 'rm -r' doesn't
remove those files and complains about it.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Wed, 5 Sep 2018 20:04:19 +0000 (16:04 -0400)]
LP#1775466 AngularJS updates for Angular integration
Changes include:
* Navbar links to Angular acquisitions admin page.
* Auth cookie migration tool for moving AngularJS cookies from /eg/staff
to /.
* Store last printed receipt (etc) in its final compiled form so it can
be directly reprinted without having to recompile (via AngularJS).
This allows the reprint-last action to work in the Angular app.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Acq requests test now logs in with a workstation since under the covers
vandelay (used for acq imports) requires a workstation on the new
tracker tables.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Ben Shum <ben@evergreener.net>
Bill Erickson [Tue, 12 Jun 2018 16:02:02 +0000 (12:02 -0400)]
LP#1755258 Browser client auth proxy login support
Check if the auth_proxy service is enabled during login and use the
proxy login API when it's available, otherwise fall back to standard
Evergreen open-ils.auth login.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
LP#1781235: fix changing primary user barcode in web client
This patch fixes a bug where the patron card dialog would
not allow the user to change the primary barcode under certain
circumstances. The fix is to ensure that the radio buttons
controlling the selection of the primary card are bound to
exactly one scope variable; otherwise, the /last/ barcode in the
list that had a primary value set after user interaction would
be the winner.
To test
-------
[1] Use the 'replace barcode' feature in the patron editor to
create a test patron with 3 barcodes:
- barcode A
- barcode B
- barcode C (which as last created, would be primary)
[2] Attempt to make barcode A the primary barcode again using
the 'See All' patron card dialog in the patron editor.
[3] Note that the change of primary barcode doesn't stick
upon saving the patron record.
[4] Apply the patch and repeat steps 1-3. This time, the
primary barcode should be changed as expected.
[5] Verify that other patron edit actions and registering a
new patron record continue to work as expected.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: John Amundson <jamundson@cwmars.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
Jeff Davis [Wed, 29 Aug 2018 18:51:24 +0000 (11:51 -0700)]
LP#1781641: make staff-applied patron blocks overridable on web client checkout/renew
To test
-------
[1] Apply a blocking penalty such as STAFF_CHR to a patron record.
[2] Attempt to check out an item; note that there is no option to
force the action.
[3] Apply the patch and repeat #2. This time, the staff user
should be given an option to force the action.
[4] Verify that forcing the checkout respects whether or not
the operator has (e.g.) the STAFF_CHR.override permission.
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Joan Kranich <jkranich@cwmars.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Adds support for searching on 'date is NULL' in the ACQ unified search
interface. To use, chose the 'is' or 'is not' matcher and leave the
text input value empty.
Update the canned completed invoices search to filter on 'close_date IS
NOT NULL' instead of the now-removed 'complete' field.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
This allows egGrid to receive CSS selector strings via egGridField
declarations in templates, or else auto-generates them based on the
path of the field. Also, sets the DOM id of the grid to its declared
persistKey, unless an id is explicitly given.
For example, due dates could be displayed in purple
as follows by adding the following CSS:
grid-due_date {
color: purple;
}
The above example uses the autog-enerated class name. One could also
set an explicit one in the eg-grid-field element, e.g.,
In this case, the grid-due_date class would /not/ be generated, and the
developer would be expected to supply CSS for the purple class. (But
with semantic class names :) )
Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org> Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Jason Etheridge [Mon, 12 Mar 2018 22:02:47 +0000 (18:02 -0400)]
lp1774277 Improvements to Patron Acquisition Request
Squashed and rebased against master, this is an Angular reimplementation of the
Patron Acquisition Request user interface with some improvements. It still
reaches into the Dojo-based Acquisition interfaces.
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
toward acq requests
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
4-status-not-updating-to-recieved-unless-all-items-in-order-are-recieved
Change to acq patron request status logic, which now looks like this:
If a cancel_reason is set on the patron request, then status = "Canceled"
If there is an associated hold request that has fulfillment_time set,
then status = 'Fulfilled"
If there is an associated lineitem has a state of "received", then status =
"Received"
If there is an associated purchase order with a state of "on-order" and an
associated hold request, then status = "Ordered, Hold Placed"
If there is an associated purchase order with a state of "on-order" but no
associated hold request (created through the automated process), then status =
"Ordered, Hold Not Placed"
If there is an associated lineitem (selection list), then status = "Pending"
If there is no associated lineitem, then status = "New"
Any other condition, which should be impossible (I should never say that), will
give a status of "Error"
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
6-upc-not-on-patron-request-form
Adds a UPC column to the patron acq request table
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
2-hold-request-fields-that-make-use-of-user-preferences
For new requests (or edited requests when a user barcode is scanned), the user's
preferences (if any) for hold notifications and pickup library will be used to
set various fields in the request dialog.
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
5-pick-up-library-not-defaulting-to-patrons-home-library
when creating new requests, given a user, default to the user's pickup library
preference setting, or absent a preference, default to their home library.
Absent a user, default to the pickup library selector value from the request
list, if it's of an org type that can have volumes. Otherwise, default to the
workstation library. Technically, the without-a-user behavior is going to be
mooted whenever a user is chosen.
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
5-pick-up-library-not-defaulting-to-patrons-home-library
Fix defaulting to patron home library in absense of user setting when creating
acq patron request from user context
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
misc fixes
to the IDL and for the email_notify checkbox.
some refactoring to avoid using foreign fields in the request object
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
7-retrieve-patron-fails-to-load-patron-record
give the user_request.view permission some parity with VIEW_USER
And some defensive programming if trying to create a request in
the user already known context without adequate permission
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
handle undefined values for email/hold checkboxes
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
remove acq.holds.allow_holds_from_purchase_request
This was added a long time ago but never actually used by the code.
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
match pcrud perm for aur with aurs
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
live_t/ test
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Adds a new DB table vandelay.session_tracker for monitoring progress on
Vandelay enqueue and import sessions.
Enqueue and import APIs get a new option to exit early, returning the
newly created tracker object, so the caller can monitor the tracker
instead of listening to streamed responses, which are not supported in
browser client Dojo interfaces.
Teach the existing Dojo Vandelay UI to exit early on enqueu & export and
to poll for tracker data in lieu of waiting for streamed progress data.
On user merge / purge, trackers are migrated to the destination user.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
"Last Copy Inventory" can be misunderstood at first reading as
inventory of the "last copy". "Latest Inventory" seems easier to
understand, and also still goes well with a potential future "All
Inventories" entry in the IDL.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Dan Wells [Thu, 23 Aug 2018 18:34:57 +0000 (14:34 -0400)]
LP#1777675 Re-add missing columns to checkin interface
During one iteration of the inventory code, a box was added to the
interface, and some room was made for it by shrinking these other
interface components.
Since the box is now gone, let's get this row back up to the expected
twelve units of width.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Testing revealed that the grid rows use a different data structure, and
the object member names include dots (periods). Thus, bracket notation
is required to access those members.
This commit also makes a few smaller changes:
- Prevents an error in the Check-in app when a last_copy_inventory
doesn't exist yet.
- Removes the "refresh" parameter from the updateInventory() function,
which is never supplied when called, nor used by the function.
- Adds some brief code comments.
- Add toggle for updating inventory date and workstation on checkin
- Create new table asset.last_copy_inventory containing inventory date and inventory workstation columns.
- Add code to do_checkin subroutine to update last_copy_inventory table on checkin.
- Update Holdings view, Checkins table, copy buckets, and item detail grid and lists to display new
inventory date and workstation information.
- Add Update Inventory action to Item Status detail and list views.
Kathy Lussier [Wed, 29 Aug 2018 21:00:39 +0000 (17:00 -0400)]
LP#1712854: Add wide_hold grid settings to server storage
Adds the new wide_hold grid settings used in the holds shelf and record holds
interfaces to server storage, as is done with other grid settings. Also removes
the legacy eg.grid.circ.holds.shelf and eg.grid.cat.catalog.holds settings.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Mike Rylander [Tue, 28 Aug 2018 16:23:50 +0000 (12:23 -0400)]
LP#1712854: Make use of local cache when moving to All Holds list
Clearing holds takes care of local updates to the hold data, so there is no
need to refetch the hold list when moving from Clearable to All. Actions
that change hold state otherwise do cause a refetch, however.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>