Unprivileged users can retrieve organizational unit setting values
for setting types lacking a "view" permission. When the feature adding
Stripe credit card processing was added, the upgrade script neglected to
add the VIEW_CREDIT_CARD_PROCESSING permission to the organizational unit
setting type (which was included in 0396.data.org-setting-payflowpro.sql).
Fresh installs are not affected, but anyone who upgraded through 0863.data.stripe-payments.sql
(included in the 2.5.3-2.6.0-upgrade-db.sql version upgrade script) and is
using Stripe credit card processing should run this script.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jason Stephenson [Tue, 22 Nov 2016 19:35:58 +0000 (14:35 -0500)]
LP 1473054: No-op Checkin Should Not Always Float a Floating Copy.
Prior to this patch, a no-op checkin would not check if a copy should
float using the evergreen.can_float() function. It would simply float
the copy to the org_unit where the checkin happened if the copy had a
float value set.
This commit changes the behavior to use evergreen.can_float() to
determine if the copy should float to the org_unit where the checkin
happened. This change makes the behavior consistent with a regular
checkin.
Bill Erickson [Tue, 3 Jan 2017 16:59:26 +0000 (11:59 -0500)]
LP#1653742 Copy tree authoritative API share cstores
Avoid opening one cstore connection per requested org unit in the
open-ils.cat.asset.copy_tree.retrieve.authoritative API by creating a
single shared cstore connection at the top of the API shared by all
API actions.
Kathy Lussier [Fri, 6 Jan 2017 16:13:26 +0000 (11:13 -0500)]
LP#1654534: Prevent loop that occurs when staff us 'place another hold' link
A hidden field that tracked the page the user was on before placing a hold was
inadvertently removed in another bug fix. As a result, if staff used the link
to place another hold on the same title, they were stuck in a loop where they
couldn't return to the source page after hitting the 'continue' button. This
commit restores that hidden field.
Also provides a fix so that hold labels used in the place another hold link
can be translated.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <ben@evergreener.net>
Precat checkout in the browser client no longer
requires the use of a circ modifier(when circ
modifiers exist). Similarly, no circ modifier
is chosen by default.
Mike Rylander [Tue, 31 Jan 2017 17:35:05 +0000 (12:35 -0500)]
LP#1660059: Protect against null value in group field
If a nullable event grouping field is configured, and a null value is indeed
encountered when pulling together events, the Action/Trigger code will exit
unceremoniously. To prevent this, we will now collect events with either
a null grouping object or grouping field, and use a new batch invalidation
API call to get rid of them as quickly as possible after group sorting is
complete.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Change references of nonexistant scope variable args.date
to args.due_date, enabling edit due date to correctly
submit.
Signed-off-by: Kyle Huckins <khuckins@catalystdevworks.com>
Changes to be committed:
modified: Open-ILS/web/js/ui/default/staff/circ/patron/items_out.js
Remington Steed [Thu, 5 Jan 2017 15:03:48 +0000 (10:03 -0500)]
Docs: Add "export non-imported records"
This commit briefly describes the queue actions, summary and filter
sections of the Inspect Queue page in Vandelay, as well as explaining
the new "Export Non-Imported Records" action. This commit includes
updated screenshots.
Galen Charlton [Wed, 21 Dec 2016 21:32:26 +0000 (16:32 -0500)]
LP#1651808: avoid a class of intermittent search failures
This patch fixes a bug where catalog searches can sometimes fail
with a PostgreSQL error that looks like this:
ERROR: type of parameter 56 (double precision) does not match that when preparing the plan (numeric)
CONTEXT: PL/pgSQL function search.query_parser_fts(integer,integer,text,integer[],integer[],integer,integer,integer,boolean,boolean,boolean,integer) line 319 at assignment
In particular, it ensures that the relevance values are coerced
to the Pg NUMERIC data type regardless of how the core query is
constructed; otherwise, it can sometimes end up as a double
precision value. Because of how Pg backends cache query plans,
that change of type can result in the error above.
To test
-------
[1] (Optional) Configure the max_children values for open-ils.storage
to permit only one drone, which in turn forces all catalog
search requests to go through a single Pg backend.
[2] Set the default_preferred_language_weight opensrf.xml setting
to 0.
[3] Perform a catalog search that has just a filter, e.g.,
item_lang(eng).
[4] Perform a catalog search that includes search term, e.g.,
cats
[5] The second search should fail.
[6] Apply the patch and try steps 3 and 4 again; this time, both
searches should work.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Conflicts:
Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/QueryParser.pm
Dan Pearl [Thu, 2 Jun 2016 19:17:44 +0000 (15:17 -0400)]
LP#1586509 Bug fix to LP#1352542 caused extraneous blank line to appear in
spine label. This affected LC call numbers that had only one cutter number
plus additional text following.
Signed-off-by: Dan Pearl <dpearl@cwmars.org> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
The switch to toISOString() to format dates introduced an off-by-one error in
the closed dates display, showing one extra day of closure due to the timezone
being ignored in toISOString().
toLocaleDateString() is the future of locale-sensitive date formats. In XUL,
because it is an old version of Firefox, it lacks locale sensitivity, but for
the purposes of the web staff client it's a good base to build on as even
Internet Explorer supports the locale and options arguments as of IE 11.
And for the immediate purposes of showing the right dates in the closed dates
editor, it works.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Dan Scott [Mon, 12 Dec 2016 20:39:08 +0000 (15:39 -0500)]
LP#1432753 Restore "All day" verbiage to Closed Dates editor
Commit ede7e78925 replaced the JSAN calls to util.date.formatted_date() with
inline date/time handling, in the process returning times with granularity to
the minute instead of to the second. This resulted in the test for "all day"
closings always failing.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Galen Charlton [Fri, 28 Oct 2016 15:42:52 +0000 (11:42 -0400)]
LP#1488655: fix MR remapping upon fingerprint change
This patch ensures that if the fingerprint of a bib changes, the
bib will be moved to a new metarecord as opposed to ending up
as a member of more than one metarecord.
To test
-------
[1] Note the metarecord that a bib belongs to.
[2] Change the bib so that its fingerprint changes -- with stock
cbf settings, editing the 245$a should suffice.
[3] Note that it is now a component of two metarecords.
[4] Apply the patch.
[5] Repeat step 2 or force a reingest. The bib should now be part
of exactly one metarecord.
Galen Charlton [Fri, 28 Oct 2016 15:40:52 +0000 (11:40 -0400)]
LP#1488655: regression test for metarecord remapping
This patch contains pgTAP tests for verifying that when
the fingerprint of a bib is changed, it remains part of
exactly one metarecord (as opposed to being part of both
its old and new MRs).
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>
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 [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>
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>
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>
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 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.
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>
Some format icons had a white background instead of a transparent one. The
transparent ones will look better in the My Account screens, where the icons
site on a gray background.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
When retrieving the holds history page on a mobile device, re-orient the table
as we do with other My Account screens.
Test plan
Pre-patch, retrieve the holds history screen for a patron that has enabled
holds history. Resize the screen to a width of 600 pixels or smaller. No
adjustments will be made to the table, and horizontal scrolling is required to
see some data.
Post-patch, after resizing this screen, the table should reorient itself with
the headers displaying in the left column, as is done on the other My Account
screens.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Kathy Lussier [Sat, 20 Aug 2016 04:54:40 +0000 (00:54 -0400)]
LP#1614807: Fix spacing issues in responsive design for My Account screens
This commit fixes the following spacing issues that are found in the My Account
screens when loaded on a small-screen device:
* When a field has no value, the text in the table header, which displays along
the left, is cut off at the bottom. The Notes field on the Holds page is one
place where this issue is commonly seen. With the fix, the headers are slightly
out of alignment with the field data, but this is still an improvement over
cutting off text on the screen.
* If the only title(s) listed on the screen are short, requiring little width
in a table cell, the text in the table header runs into field data. A good
example in the Concerto data is if the user only has a check out for record ID
2 (Le concerto) on their account.
* The checkboxes in the Check Out History and Items on Hold screen were pushed
to the right. We fix it by giving the cells with a checkbox a "checkbox_column"
class, which was already in use by the checkbox on the Items Out screen.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Kathy Lussier [Fri, 19 Aug 2016 17:41:14 +0000 (13:41 -0400)]
LP#1614807: Holds history should look like other My Account screens
The Holds History My Account interface looks entirely different than the Items
Out, Check Out History, and Items On Holds interfaces. This commit adds a new
acct_holds_hist_header CSS class that shares the same styles as the CSS classes
used for the other three interfaces. Inline styles are removed from this table.
Test plan
Pre-patch: Go to the My Account Items Out, Check Out History, Items on Hold,
and Holds History interfaces. While the first three interfaces use a table with
a white background for the headers and a gray background for the body, the Holds
History interface is the opposite.
Post patch: All four interfaces should show a similar style to each other.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Kathy Lussier [Fri, 19 Aug 2016 15:59:27 +0000 (11:59 -0400)]
LP#1614807: Fix Circ History table header display on small screens
Because the table in circs.tt2 and circ_history.tt2 shared the same CSS class,
circ_history.tt2 was displaying circs.tt2's column headers on mobile devices
and other small screens. The two tables now have distinct classes, and
styles.css.tt2 has been updated to provide the correct table headers for the
circ history page.
Test plan
Pre-patch, pull up a user account that has a circ history in My Account, go to
the Check Out History tab, then resize the screen to a width of 600 pixels or
smaller. The table headers will now display along the side, but the headers
will be the ones that typically display in the Items Out screen. The Barcode
will display in the Date Returned row and the Call number will display in the
Barcode row.
Post-patch, after resizing the screen, the headers that display along the side
should match the ones from the Checkout History interface. All data should
display in its appropriate row.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Boyer [Mon, 20 Jun 2016 16:38:00 +0000 (12:38 -0400)]
LP1593834: Add Date Header to A/T Email Examples
RFCs 822 and 2822 specify that a Date: header has to be sent
indicating when an email was sent. Without this, clients that
default to displaying the Sent Date may end up using a "NULL"
date, or 1970-01-01 00:00:00 UTC, which is not ideal. This
adds the header to the example A/T templates for email and
SMS messages, and includes instructions on correcting
existing tempalates.
Signed-off-by: Jason Boyer <jboyer@library.in.gov> Signed-off-by: Mike Rylander <mrylander@gmail.com>
These tests check that the copy status is correct after aborting
transits dependent upon the status of the copy. More tests could be
added to cover more situations, but these tests cover the basics.
Signed-off-by: Jason Stephenson <jstephenson@mvlcstaff.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Stephenson [Fri, 18 Mar 2016 20:38:33 +0000 (16:38 -0400)]
LP 1306666: Abort Transit Only Change Copy Status if In Transit
When aborting a transit, the copy status is presently changed, either
to the status stored in action.transit_copy or to Reshelving if the
transit was for a hold. This causes problems with "hanging" transits
where something was not handled properly before. We've had cases
where a transit sticks around on a copy that is later checked out, and
while that copy is checked out, the transit is aborted, thus setting
the copy status to Reshelving when it should be Checked Out.
The code change in this branch only changes the copy's status if it is
In Transit. A copy in any other status has its status left untouched.
Signed-off-by: Jason Stephenson <jstephenson@mvlcstaff.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Fix TPAC circ history retrieval code thinko so that history rows are
retrieved one at a time instead of in a batch (.atomic) to avoid
overwhelming Ejabberd.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Galen Charlton [Wed, 17 Aug 2016 15:01:26 +0000 (11:01 -0400)]
LP#1476049: disable serve-cgi-bin Apache config on Jessie
This patch ensures that the stock Apache configuration
"serve-cgi-bin" is disabled when installing on Debian Jessie,
as otherwise the default cgi-bin location
can override what Evergreen specifies for offline.pl.
To test:
[1] Run the Makefile.install step on Jessie; verify
that there is no /etc/apache2/conf-enabled/serve-cgi-bin.conf
symlink.
[2] Proceed with the rest of the Evergreen installation; verify
that the Apache error log doesn't contain a warning like this:
"The Alias directive in /etc/apache2/sites-enabled/eg.conf ...
will probably never match because it overlaps an earlier
ScriptAlias."
[3] For extra credit, verify that one can access offline circulation
sessions.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>