blake [Thu, 3 Nov 2016 15:42:24 +0000 (10:42 -0500)]
LP1638921 List display broken in 2.11
The badges feature added more data to an array which broke bib_record_list_via_search
Taking the first item in the array instead of the last item fixes the issue.
Thanks to miker and Dyrcona!
Signed-off-by: blake <blake@mobiusconsortium.org> Signed-off-by: Mike Rylander <miker@esilibrary.com>
Kathy Lussier [Tue, 24 May 2016 00:09:34 +0000 (20:09 -0400)]
LP#1584807: Clicking column header should not unsort list
Clicking column headers in My Account cycled through ascending order,
descending order, and then unsorted. But unsorting a list after clicking a
header is unintutive to the user. Instead, it should toggle between ascending /
descending order.
Test plan
* Using the concerto dataset, log in as user 99999395984 / maes1234
* Go to the Items Out area of my account and click the title column header to
sort the list.
* The list will first sort alphabetically in ascending order, on a second click
will sort alphabetically in descending order, and, on a third click, will
return to the default sort order.
* After loading the patch, clicking the column header should only result in
sorting in ascending and descending order.
Dan Scott [Tue, 6 Sep 2016 17:53:02 +0000 (13:53 -0400)]
LP#1620750 Prevent log warning for uninit var in checkin_retarget()
If the retarget_mode variable is not initialized, then a warning is generated
in the logs every time an item is checked in. Avoid the warning by
short-circuiting before testing the value in the regex.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Dan Scott [Fri, 16 Sep 2016 17:49:01 +0000 (13:49 -0400)]
LP#1624491 Avoid uninit var prox_cache during holds processing
open-ils.circ was logging a prox_cache hash value before it is
guaranteed to have been initialized. Instead, log messages _after_ they
have been initialized.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Furthermore, use the relatively new fpsum() utility function for summing
floating point numbers so we can avoid having multiple versions of the
summing logic floating (*cough*) around (*cough cough*).
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Sun, 2 Oct 2016 21:28:05 +0000 (17:28 -0400)]
Docs: add mpm_prefork config for Apache 2.4 systems
We had only documented the Apache 2.2 stanzas for mpm_prefork, so include a
section for 2.4 that uses MaxRequestWorkers and MaxConnectionsPerChild. Given
the memory leaks that we have seen, suggest lower settings for these two values
(assuming that most sites will be serving a public catalogue instead of using a
separate discovery layer).
Also fix the weird formatting where Debian instructions were indented under a
Fedora section.
Also use dots for ordered bullets instead of renumbering all of the bullets
again.
Dan Scott [Sun, 2 Oct 2016 14:04:04 +0000 (10:04 -0400)]
Docs: set up default action_trigger_filters.json file
Given that action_trigger_runner.pl looks by default for a file called
action_trigger_filters.json, instruct people to create that file when they are
first setting up their system.
The subject links in the record summary were stripping periods, changing
headings that contained N.Y., for example, to NY in the subsequent search
string. Since normalization at index time replaces the period with a space,
clicking the subject links did not successfully retrieve all relevant
results.
Test plan:
Click the Subject link for a record that has New York (N.Y.) in its heading and
has no other instances of ny in the keyword index. This record will not be
retrieved when you click the link. After loading the patch, the record will be
successfully retrieved, along with other records that contain New York (N.Y.) in
their subject headings.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Josh Stompro [Fri, 19 Aug 2016 20:31:11 +0000 (15:31 -0500)]
LP#1494750 - Extra closing curly bracket in style.css disables following css
Which is the .sort_deemphasize class, so the modification of the non-filing
characters never happens in the sort results.
Test Plan:
Needed: Patron account with checkout history that contains titles with
non filing characters.
Before change, view the checkout history and sort by title. Note that the
leading non filing characters look the same as the rest of the title.
After change, view the checkout history and sort by title. Note that the
leading non filing characters now have a different style than the rest
of the title.
Bill Erickson [Fri, 23 Sep 2016 17:56:42 +0000 (13:56 -0400)]
LP#1526159 Webstaff Items Out includes overdue, etc.
Items Out tally in patron summary (side-bar) is now consistent with the
Items Out value displayed along the top of the patron UI. It now includes
overdues and optionally lost/claims-returned total.
Displays a progress bar while waiting for results from a patron search
in the browser client. Bar only displays when a server-side search is
required. (It's not displayed for cached searches, etc.). Results grid
is hidden while the progress bar is visible and vice versa.
This commit applies Bill Erickson's change from bug #1227344 to the fund
selector that appears on the Selection List (picklist) screen when you click
"Copies" to reveal the line items table. (Bill also mentioned this in
bug #1266471.)
Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Updates to the 2.11, including: adding a note about Ubuntu Xenial support,
adding acknowledgements for translators and for some who were missed in the
first iteration of Release Notes, slimming down the activity metric release
notes entry and moving the original, detail-rich entry to the TechRef directory.
Mike Rylander [Wed, 14 Sep 2016 14:44:15 +0000 (10:44 -0400)]
LP#1623541: Booking will fail if its router isn't called "router"
The circ code checks to see if the booking app is running, and if not, it
skips some booking-related logic. This is a useful performance enhancement
where booking is not in use. It does this by asking the OpenSRF router if
the "open-ils.booking" app has registered with it. Most of the time the
OpenSRF router will be called, unimaginatively, "router" but when it's not,
booking will not be considered by the circ module even if it's running.
Instead of assuming "router" we should simply look up the router's name.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Dan Scott [Sun, 18 Sep 2016 13:16:27 +0000 (09:16 -0400)]
LP#1624846 Add charset declaration to TPAC print output
Non-ASCII characters were printed incorrectly in some browsers, such as
Firefox, that still default to ISO-8859-1 encodings in the absence of a
specifically declared encoding.
Our output encoding will always be UTF-8, so declare it.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Wells [Tue, 13 Sep 2016 17:40:43 +0000 (13:40 -0400)]
LP#1620803 Add missing workstation passthru to AuthProxy
The AuthProxy.pm login function was not passing through a possible
'workstation' parameter to auth_internal's 'session.create' method.
Without this, all login's end up with a workstation set to the user's
home_ou, which can affect things including opt-in and transit
behaviors.
While not needed for the initial 'user.validate', it seems cleaner
and simpler to just bring it over when constructing the initial
$args hash.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Dan Scott <dscott@laurentian.ca>
This patch ensures that the patron profile and
search OU values are retained when going from a patron
search to a single record and back to the patron search.
To test the fix for this bug:
[1] Search for a patron using the expanded patron search fields,
making sure to select values for the profile and search
OU dropdowns.
[2] Open a record, then click "Patron Search" to return to the
search form.
[3] Verify that the profile and search library are set and
that the same patron records are retrieved.
This patch includes elements from a patch originally written
by Victoria Lewis <vlewis@catalystitservices.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Propagate lineitem MARC 'price' attribute value to the lineitem
estimated_unit_price field. This allows users to apply a lineitem
price directly from the ACQ Brief Record interface.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Tue, 6 Sep 2016 01:34:20 +0000 (21:34 -0400)]
SIP manual testing formatting cleanup
The extra ** in the sample SIP lines was distracting. Also, it wasn't clear
which password to use when $password was used twice, so disambiguate it to
identify user vs. SIP password.
Fix webstaff test failures due to an invalid IDL2js.js file by adding
newly-required preprocessing to the support script that generates that
file when running tests.
Signed-off-by: Jeff Godin <jgodin@tadl.org> Signed-off-by: Ben Shum <ben@evergreener.net> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Dan Wells [Thu, 25 Aug 2016 19:27:56 +0000 (15:27 -0400)]
Translation updates - po files
Translations have been significantly increased. In particular, Spanish
has received a huge update with over 8,000 new translations, Czech has
received a sizeable update of over 800 translations, and additional
smaller updates have been added for Arabic, French (Canada), and
Armenian.
Jason Stephenson [Thu, 25 Aug 2016 15:57:42 +0000 (11:57 -0400)]
LP#1613709: Make DOB validation alert failure translatable.
The alert message about an invalid DOB being entered in the OPAC
patron registration is not translatable. The solution, suggested by
Eva Cerninakova, is to wrap the string in the l() template function to
make it so. That is what this branch does.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Jason Stephenson [Mon, 30 May 2016 17:01:45 +0000 (13:01 -0400)]
LP 1583608: The make_release script always makes a db upgrade script.
Alter make_release to always create a db upgrade script, even when no
actual db upgrades need to be applied. The minimal script created
will at least set the upgrade version in config.upgrade_log.
Bill Erickson [Wed, 24 Aug 2016 21:01:01 +0000 (17:01 -0400)]
LP#1497335 Show Last Few Circs patron retrieve options
In the Show Last Few Circulations window (XUL), disable the "Retrieve
Last Patron" button when the most recent circulation is aged. Disable
the "Retrieve All These Patrons" button when all circulations displayed
are aged.
Fixes a sort bug in open-ils.circ.copy_checkout_history.retrieve.
* Item Status -> Circulation History now displays aged circulations as
appropriate, showing "<Aged Circulation>" in lieu the patron's name.
* Item Status (and others) -> Show Last Few Circulations, ditto above.
Also, the 'Add Billing' button is disabled when displayed with an aged
circulation row.
* Copy -> Retrieve Last Patron action now includes aged circulations
when looking for the most recent circulation. When the most recent
circ is an aged circ, the UI reports "Item XXX circulation is an aged
circulation and has no linked user". Among other things, this means
the 3rd from last circ will not be confused as the 2nd to last circ
when the 2nd to last is aged.
* Mark Item Damaged will warn if the circ in question is aged. This is
just a sanity check and should never happen in reality, since the UI
only supports this option on checked out items (i.e. active circs).
1. Use all_circulation (combcirc) class (now accessible via pcrud) to
render the item Circ History List tab. In cases where a combcirc object
has no 'usr' value, the interface displays <Aged Circulation> where
the patron's name would normally be and disables the 'Add Billing'
button.
2. Handle null 'usr' values in the item status Recent Circ History tab.
When a renewal chain summary has no 'usr' value, the interface displays
<Aged Circulation> where the patron's name would normally be.
Various SQL, IDL, and API changes for accessing aged circulations,
primarily via all_circulation objects, for imporoved staff client
integration.
*. Support open-ils.pcrud access to the action.all_circulation DB view /
'combcirc' class.
*. Add missing parent_circ, checkin_scan_time, checkin_workstation to
combcirc class.
*. Add 'usr' field to combcirc. The action.all_circulation VIEW will
return NULL as the 'usr' column value when returning data for an
aged_circulation.
*. Add virtual 'active_circ' and 'aged_circ' fields to combcirc for
fleshing the related action.circulation or action.aged_circulation
object.
* Adds SQL functions for action.all_circ_chain and
action.summarize_all_circ_chain, which pull data from
aged_circulation.
*. API calls
open-ils.circ.[prev_]renewal_chain.retrieve_by_circ[.summary] now return
data for active and aged circulations by using action.all_circ_chain and
action.summarize_all_circ_chain. When using these APIs, a null value
in the 'usr' column is the indication that a given circulation or circ
chain summary represents an aged circulation.
* API open-ils.circ.copy_details.retrieve will now optionally return
aged circ data within the copy circ history.
Chris Sharp [Wed, 24 Aug 2016 18:23:09 +0000 (14:23 -0400)]
LP#1613374 - Check stored copy status before clobbering it.
Some transit.copy_statuses would result in some other behavior
upon checkin, so we check all that would go into 'Reshelving'
status, otherwise, restore the stored status.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Chris Sharp [Tue, 23 Aug 2016 13:32:59 +0000 (09:32 -0400)]
LP#1613374 - Add 'Canceled Transit' to non-'BAD' copy statuses.
During checkin, Circulate.pm checks the copy status and if it
isn't listed as an okay status, the event COPY_BAD_STATUS is
returned, which requires an override. This change makes copies
in 'Canceled Transit' status check in without an alert.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Chris Sharp [Tue, 16 Aug 2016 11:11:24 +0000 (07:11 -0400)]
LP#1613374 - Add 'Canceled Transit' to "magical statuses"
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Chris Sharp [Mon, 22 Aug 2016 12:58:24 +0000 (08:58 -0400)]
LP#1613374 - Make 'Canceled Transit' status holdable and OPAC-visible.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Chris Sharp [Wed, 24 Aug 2016 18:12:04 +0000 (14:12 -0400)]
LP#1613374 - Set item status to 'Canceled Transit' when transit is canceled.
I opened a separate bug report on this issue (bug 1613374) before realizing
bug 1306666 was reported. This commit creates a new 'Canceled Transit' status
that signals to staff what happened to an item when a transit is aborted/canceled.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Conflicts:
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Transit.pm
Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
This patch replaces the Logout and Logout with Receipt buttons in
the selfcheck interface with a single Logout button and a set of radio
buttons (whose labels are clickable) that allow the user to specify
whether they want an email receipt, a print receipt, or no receipt upon
logging out.
If the user has no email address, the option to select email receipts
will not be presented to them.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Galen Charlton [Thu, 4 Aug 2016 16:07:14 +0000 (12:07 -0400)]
LP#1356477: move email receipt checkbox on patron editor
This patch updates the patron editor so that the checkbox
for setting whether the user wishes to get email checkout
receipts by default is moved next to the email address
input.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
This patch adds a new button to the webstaff checkout page
called Quick Receipt. If the button itself is pushed, a
receipt containing the current checkouts is either printed
or emailed, depending on the user's preference. If the
drop-down portion of the button is used, staff members can
override the user's default preference to print or email
the receipt.
The Quick Receipt button is enabled only if at least one
checkout has been made during the current session.
Note that email receipts is an option only when the patron
has an email address supplied.
An icon next to the Quick Receipt button will be either a
printer or an envelope depending on the user's preferred
receipt setting.
This patch also modifies the "Done" button. If pressed, the session
is ended and the receipt is generated according to the user's
preferences, but the drop-down portion can be used to end
the session while letting the staff member choose how the
receipt is emitted.
If a receipt is emailed, a toast is displayed saying so.
Signed-off-by: Mike Rylander <miker@esilibrary.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Galen Charlton [Wed, 3 Aug 2016 19:38:49 +0000 (15:38 -0400)]
LP#1356477: teach OPAC patron registration form about staged user (opt-in) settings
This patch causes a checkbox to be added for each user setting
that controls opt-in for active Action/Trigger event definitions. In
the specific context of email checkout receipts, this means that
a patron who is self-registering can elect to get email checkout
receipts by default.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Galen Charlton [Wed, 3 Aug 2016 19:36:18 +0000 (15:36 -0400)]
LP#1356477: teach webstaff patron editor about staged user settings
This patch also fixes a bug that preferred the webstaff patron editor
from successfully removing a staged patron upon completing the
registration of the patron.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Galen Charlton [Wed, 3 Aug 2016 19:37:39 +0000 (15:37 -0400)]
LP#1356477: create new staging table for user settings
This patch creates a new table called staging.setting_stage
that allows for storing user settings when a patron uses
(for example) the self-registration page.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Galen Charlton [Mon, 8 Aug 2016 20:50:08 +0000 (16:50 -0400)]
LP#1356477: add ability to unconditionally send email
This patch defines and uses an
open-ils.trigger.event.autocreate.ignore_opt_in method that does what
it says on the tin; the caller is reponsible for not abusing this.
This supports a use case in the webstaff checkout interface where staff
can choose to have the receipt be emailed, provided that the patron
record has an email address defined, even if the user setting to
email receipts by default is not set. (It is assumed that the staff
member would have gotten permission from the patron on the spot.)
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Wed, 3 Aug 2016 16:45:10 +0000 (12:45 -0400)]
LP#1356477: business logic for email checking receipts
This patch adds two methods, open-ils.circ.checkout.batch_notify
and open-ils.circ.checkout.batch_notify.session, that when passed
a set of circulation IDs, creates A/T events for the
checkout notification hooks. In the specific case of the email
checkout receipts feature, the seed data contains a stock
event that would send out emails, but it is conceivable
that other forms of notification could be done by defining
A/T events appropriately.
Signed-off-by: Mike Rylander <miker@esilibrary.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This patch adds seed data for email checkout receipts,
including:
- The action/trigger hooks circ.checkout.batch_notify
and circ.checkout.batch_notify.session.
- The default event definition
- The circ.send_email_checkout_receipts (Email checkout receipts by
default?) user setting.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Conflicts:
Open-ILS/src/sql/Pg/950.data.seed-values.sql
Adds a new global flag 'ingest.disable_authority_auto_update_bib_meta',
which is disabled by default.
When disabled, the 'editor' and 'edit_date' columns on bib records
updated via authority field propagation are updated to the value of the
editor on the authority record and NOW(), respectively.
When enabled, editor and edit_date are not modified.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
It also normalizes how 'fail_part' is set in the renewal response,
as the payload of an event returned when a renewal fails can
be either a hash or an acp Fieldmapper object depending on the
type of event. In the former case, attempting to access an
nonexistent ->fail_part method is what causes the crash.
To test
-------
[1] Create an item that requires a deposit or a rental fee
and check it out.
[2] Attempt to renew the loan in the public catalog. Note
that an internal server error is returned.
[3] Apply the patch and attept step 2 again. This time, the
public catalog should display a notification to the patron
that the renewal cannot take place, rather than crashing.
[4] Set up other situations where a renewal should fail for
reasons other than a deposit/rental fee being required. Verify
that appropriate error messages are displayed in the public
catalog.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>