8 years agoAllow 'Enter' key to run Verify Credentials user check
edoceo [Thu, 8 Nov 2012 04:08:27 +0000 (20:08 -0800)]
Allow 'Enter' key to run Verify Credentials user check

In both the "Verify Credentials" menu and "Test Password" patron account
option, this change checks for the keypress of "Enter" and then executes
the cmd_verify routine.

Additionally, the password field is blanked after each attempt.

Signed-off-by: edoceo <>
Signed-off-by: Ben Shum <>
8 years agoAcq: Yet more efforts to sanitize data for the EDI translator
Lebbeous Fogle-Weekley [Fri, 23 Mar 2012 02:21:36 +0000 (22:21 -0400)]
Acq: Yet more efforts to sanitize data for the EDI translator

I specifically did this to address cases reported to me by Galen
Charlton in which get_li_attr_jedi() would return the string "nul", but
I hope this is a nail in the coffin for problems involving
JEDI-producing Action/Trigger templates feeding the EDI translator
strings that the latter doesn't like.

Signed-off-by: Lebbeous Fogle-Weekley <>
Signed-off-by: Bill Erickson <>
8 years agoMake the acquisitions setup show up in the manual
Dan Scott [Sun, 9 Dec 2012 05:36:08 +0000 (00:36 -0500)]
Make the acquisitions setup show up in the manual

Signed-off-by: Dan Scott <>
8 years agoAdd acquisitions setup chapter
Dan Scott [Sun, 9 Dec 2012 05:30:29 +0000 (00:30 -0500)]
Add acquisitions setup chapter

Another product of the Evergreen in Action documentation sprint!

Signed-off-by: Dan Scott <>
8 years agoAdd the "Importing via the staff client" chapter
Dan Scott [Sun, 9 Dec 2012 00:55:24 +0000 (19:55 -0500)]
Add the "Importing via the staff client" chapter

... from the Evergreen In Action doc sprint.

Signed-off-by: Dan Scott <>
8 years agoRoll in some Evergreen in Action chapters
Dan Scott [Sat, 8 Dec 2012 23:36:12 +0000 (18:36 -0500)]
Roll in some Evergreen in Action chapters

For the initial import we're keeping the formatting and words identical,
so that we can manually sycnhronize changes as needed between the FLOSS
Manuals version of this documentation and the AsciiDoc version.

Signed-off-by: Dan Scott <>
8 years agoAdd a target ID to fix the epub transform
Dan Scott [Sat, 8 Dec 2012 23:37:51 +0000 (18:37 -0500)]
Add a target ID to fix the epub transform

Commit a850606073 added a link pointing to this ID, but the target ID
did not exist, breaking the epub transform. Now it works again.

Signed-off-by: Dan Scott <>
8 years agoDocumentation: Add sections to workstation admin chapter.
BC Libraries Cooperative [Fri, 30 Nov 2012 16:10:39 +0000 (11:10 -0500)]
Documentation: Add sections to workstation admin chapter.

Content from:$

Receipt template editor sections moved to this chapter.
Converted to asciidoc by rsoulliere. Index terms added by rsoulliere
Some duplicate images were also removed from media directory.

Signed-off-by: Robert Soulliere <>
8 years agoDocumentation: Add workstation administration chapter.
BC Libraries Cooperative [Thu, 29 Nov 2012 20:39:57 +0000 (15:39 -0500)]
Documentation: Add workstation administration chapter.

Content from:
Converted to asciidoc by rsoulliere.

Signed-off-by: Robert Soulliere <>
8 years agoFix misspelling of "summary" in KPAC Added Content
Michael Peters [Wed, 28 Nov 2012 17:36:10 +0000 (12:36 -0500)]
Fix misspelling of "summary" in KPAC Added Content

Summary != Smmary

Signed-off-by: Michael Peters <>
Signed-off-by: Ben Shum <>
8 years agoDocumentation: Add staff client login chapter.
Robert Soulliere [Thu, 29 Nov 2012 15:43:28 +0000 (10:43 -0500)]
Documentation: Add staff client login chapter.

Included standalone interface and loggin out information as well as
a few index terms.

Signed-off-by: Robert Soulliere <>
8 years agoDocumentation: Add chapter on staff client installation.
Robert Soulliere [Wed, 28 Nov 2012 16:36:54 +0000 (11:36 -0500)]
Documentation: Add chapter on staff client installation.

Also included information on removing staff client preferences
(from EG wiki) and registering workstations.

Signed-off-by: Robert Soulliere <>
8 years agoKPAC - add shelving location to copy table display
Melissa Lefebvre [Tue, 27 Nov 2012 18:35:42 +0000 (13:35 -0500)]
KPAC - add shelving location to copy table display

Addition of shelving location information to the display along with the
removal of broken "view library info" javascript link.

Signed-off-by: Melissa Lefebvre <>
Signed-off-by: Michael Peters <>
Signed-off-by: Ben Shum <>
8 years agoKPAC - fix getit_results with short titles
Ben Shum [Wed, 21 Nov 2012 19:17:59 +0000 (14:17 -0500)]
KPAC - fix getit_results with short titles

When using the "Get it" options to either add an item to a list or place an
item on hold, one would get an internal server error whenever attemping this
on a bib record with a short title.

Turns out that the substr function that shortens the length of long titles
breaks when the title is 18 characters or less.

Add an IF check around the substr function to avoid this error.

Signed-off-by: Ben Shum <>
Signed-off-by: Michael Peters <>
8 years agoKPAC - fix Get It and pickup library selector
Ben Shum [Mon, 19 Nov 2012 22:34:33 +0000 (17:34 -0500)]
KPAC - fix Get It and pickup library selector

Change PROCESS to INCLUDE to prevent variable leaks from breaking
the pickup library selector's values.

Signed-off-by: Ben Shum <>
Signed-off-by: Michael Peters <>
8 years agoLP#1082260: Update OPAC low search hits template for i18n
Pasi Kallinen [Tue, 27 Nov 2012 10:39:02 +0000 (12:39 +0200)]
LP#1082260: Update OPAC low search hits template for i18n

The OPAC lowhits.tt2 template is only partially translatable,
and the translatable part is impossible to make sound good
for languages with different word order than English.

This patch changes the already translatable part so there
are 4 different phrases to translate (instead of two phrase
fragments), and makes the search hints translatable.

For English language, the patch does not introduce any visible differences.

Signed-off-by: Pasi Kallinen <>
Signed-off-by: Dan Scott <>
8 years agoFix typo in docs/opac/search_form.txt
Michael Peters [Tue, 27 Nov 2012 14:31:32 +0000 (09:31 -0500)]
Fix typo in docs/opac/search_form.txt

Creating a simple search for kpac should link to "kpac"
not "tpac" which won't exist.

Signed-off-by: Michael Peters <>
Signed-off-by: Jason Stephenson <>
8 years agoFix lp1076379: Can't edit holds beyond first page.
Jason Stephenson [Thu, 8 Nov 2012 20:09:09 +0000 (15:09 -0500)]
Fix lp1076379: Can't edit holds beyond first page.

When a hold was being edited on page 2+ of a patron's list of holds, the
offset was > 0. Since the input hold_ids array ref has only 1 member, using
the offset as a starting point in searching began the search beyond the end
of the array and thus returned nothing.

The code in this commit moves the handling of the offset and limit to cases
where the input hold_ids is undefined, as this is, I think the intended
behavior. Typically when hold_ids is passed to the fetch_user_holds function
in EGCatLoader::Account, you want to retrieve those holds regardless of
the offset and limit values.

Signed-off-by: Jason Stephenson <>
Signed-off-by: Ben Shum <>
8 years agoRepair syntax on line 559 of
Jason Stephenson [Thu, 8 Nov 2012 16:32:06 +0000 (11:32 -0500)]
Repair syntax on line 559 of

A change was introduced when listing available holds that has incorrect JSON
syntax. This caused available holds not to be returned by the query.

Changing '+ahr' to '=' in the query resolves this.

Signed-off-by: Jason Stephenson <>
Signed-off-by: Ben Shum <>
8 years agoDocumentation: Fix some typos in upgrade instructions.
Robert Soulliere [Mon, 26 Nov 2012 15:17:53 +0000 (10:17 -0500)]
Documentation: Fix some typos in upgrade instructions.

Signed-off-by: Robert Soulliere <>
8 years agoTest data: avoid crazy transactions for expired patrons
Dan Scott [Wed, 21 Nov 2012 16:37:06 +0000 (11:37 -0500)]
Test data: avoid crazy transactions for expired patrons

Rather than creating brand new circ transactions for patrons who expired
in 1999, make things a little more realistic by filtering out the
patrons to those whose account expired in the past month or later, and
creating xact_start / due_date values based on their account expiry
date if expired, or NOW() if still active.

Oh, and add some patrons who expired over the past month. :)

Signed-off-by: Dan Scott <>
Signed-off-by: Bill Erickson <>
8 years agoSample data: enable loading via
Dan Scott [Sun, 11 Nov 2012 23:32:44 +0000 (18:32 -0500)]
Sample data: enable loading via

Add "--load-concerto-sample" and "--load-all-sample" options to the script so that would-be testers can create the database
and load sample data on it in one easy step.

Add a release notes entry.

Signed-off-by: Dan Scott <>
Signed-off-by: Bill Erickson <>
8 years agoConcerto test data: realistic call numbers
Dan Scott [Sun, 11 Nov 2012 15:48:55 +0000 (10:48 -0500)]
Concerto test data: realistic call numbers

Add a parameter to the populate call number function so that we can define the
call number class. As a result, create a new 3-parm version of the function
that simply calls the 4-parm version with a NULL value for the 3rd parm.

Use some realistic LC and Dewey call numbers for the "concerto" bibs so
that we can have more useful tests of the call number browse functionality.

Signed-off-by: Dan Scott <>
Signed-off-by: Bill Erickson <>
8 years agoExpand and modularize concerto data set
Bill Erickson [Sat, 13 Oct 2012 16:28:29 +0000 (12:28 -0400)]
Expand and modularize concerto data set

* Break function creation and deletion out to their own files.
* Translates lul_fre_100 bibs into SQL
* adds a load_all.sql file for loading all test data
* moves all test data sql to its own dir
* creates a backward-compat concerto.sql loader
* ensure that most users are not already expired
* Adds a 'tag' column to marcxml_import, which populates last_xact_id on
  import.  This 'tag' is useful for differentiating which records to link
  callnumbers to.
* Adds an 'id' column to marcxml_import to ensure insert-order inserts
  into biblio.record_entry
* Adds a handful of copies for french records
* Adds supporting functions for creating circ/hold test data.
* creates a pile of sample circ and hold data
* Give most users NULL dobs and suffixes.

Signed-off-by: Bill Erickson <>
Signed-off-by: Dan Scott <>
8 years agoTweak wording of patron account expiry warning
Dan Scott [Wed, 21 Nov 2012 14:24:09 +0000 (09:24 -0500)]
Tweak wording of patron account expiry warning

A warning is something that comes in advance of an event, so a
pre-warning would be a warning about the warning, which is a bit weird.
Hopefully this language will be a little simpler and easier for users to

Also, fetch the value of the setting once and stuff it in a variable;
vars are cheap and things might be a little more legible.

Also, add a release note entry for the new feature.

Signed-off-by: Dan Scott <>
Signed-off-by: Ben Shum <>
8 years agoWrap upgrade script for patron expiry warning
Dan Scott [Wed, 21 Nov 2012 12:08:04 +0000 (07:08 -0500)]
Wrap upgrade script for patron expiry warning

Signed-off-by: Dan Scott <>
Signed-off-by: Ben Shum <>
8 years agoAdd library setting to control pre-expire warning for patrons
Ben Shum [Wed, 14 Nov 2012 18:30:11 +0000 (13:30 -0500)]
Add library setting to control pre-expire warning for patrons

Thanks to some more inspiration by Thomas Berezansky, this change adds a
library setting to control when the pre-expire warning will be displayed.

Signed-off-by: Ben Shum <>
Signed-off-by: Dan Scott <>
8 years agoWarn on card expiring within 28 days
Michael Peters [Thu, 8 Nov 2012 19:14:42 +0000 (14:14 -0500)]
Warn on card expiring within 28 days

Thank you to Thomas Berzansky for pointing out a simple way of
accomplishing this, since we were already checking and alerting
if card was already expired.

This places an alert on the "stop sign" page if the card expires
within 28 days from the current date.

Interval can be configured by editing preexpire.setDate in display.js.

Signed-off-by: Michael Peters <>
Signed-off-by: Ben Shum <>
Signed-off-by: Dan Scott <>
8 years agoDocs: Add offline circulation basics
Dan Scott [Mon, 19 Nov 2012 20:55:34 +0000 (15:55 -0500)]
Docs: Add offline circulation basics

Based heavily on the documentation from Evergreen 1.6, which was in turn
based heavily on the Sitka documentation for offline mode, add some
coverage of the offline processes for registering patrons, checking
items in and out, renewing items, and uploading & processing

Signed-off-by: Dan Scott <>
8 years agoMake the "user account expired" warning i18n-friendly
Dan Scott [Fri, 16 Nov 2012 21:01:10 +0000 (16:01 -0500)]
Make the "user account expired" warning i18n-friendly

The warning message is now capable of being translated, and we're
formatting of the date consistently with other uses throughout the TPAC.

Signed-off-by: Dan Scott <>
Signed-off-by: Ben Shum <>
8 years agoAdd card expired message to the myopac account summary
Justin Hopkins [Mon, 30 Jul 2012 22:25:20 +0000 (17:25 -0500)]
Add card expired message to the myopac account summary

The JSPAC included a message to users who had an expired card alerting them to this fact.
This message is useful and was not writted into the TPAC.

Signed-off-by: Justin Hopkins <>
Signed-off-by: Dan Scott <>
Signed-off-by: Ben Shum <>
8 years agoSet eg_version at start of 2.2 upgrade scripts
Dan Scott [Thu, 27 Sep 2012 03:47:26 +0000 (23:47 -0400)]
Set eg_version at start of 2.2 upgrade scripts

Signed-off-by: Dan Scott <>
Signed-off-by: Lebbeous Fogle-Weekley <>
8 years agoApply the 0715 update for acq settings_group
Dan Scott [Thu, 27 Sep 2012 03:25:53 +0000 (23:25 -0400)]
Apply the 0715 update for acq settings_group

We add the 'acq' config.settings_group in the seed data, and add the
other settings groups in the 2.1-2.2 upgrade script, but need to add the
acq settings_group to the 2.1-2.2 upgrade script.

Signed-off-by: Dan Scott <>
Signed-off-by: Lebbeous Fogle-Weekley <>
8 years agoAfter upgrade, list records with missing or incorrect 901$c
Galen Charlton [Thu, 27 Sep 2012 03:34:32 +0000 (23:34 -0400)]
After upgrade, list records with missing or incorrect 901$c

This is a common cause of pain for upgrades. Let's try to identify the
problem early (even if it takes forever on a site with 3 million bibs)
and offer advice on correcting the problem if it is flagged.

Signed-off-by: Dan Scott <>
Signed-off-by: Lebbeous Fogle-Weekley <>
8 years agorel_2_1 does not have a config.upgrade_log.applied_to column
Dan Scott [Thu, 13 Sep 2012 16:47:32 +0000 (12:47 -0400)]
rel_2_1 does not have a config.upgrade_log.applied_to column

Thanks to Michael Peters for running into & reporting this problem when
attempting to upgrade from 2.1.2 to 2.1.3!

Fix the version upgrade script.

Signed-off-by: Dan Scott <>
8 years agoDocumentation: Grammar fix on upgrade instructions.
Robert Soulliere [Wed, 14 Nov 2012 18:38:09 +0000 (13:38 -0500)]
Documentation: Grammar fix on upgrade instructions.

Signed-off-by: Robert Soulliere <>
8 years agoDocumentation: Specify that Apache files should be updated as root.
Robert Soulliere [Wed, 14 Nov 2012 18:35:17 +0000 (13:35 -0500)]
Documentation: Specify that Apache files should be updated as root.

Signed-off-by: Robert Soulliere <>
8 years agoDocumentation: Update upgrade instructions for 2.3.1
Robert Soulliere [Wed, 14 Nov 2012 18:18:01 +0000 (13:18 -0500)]
Documentation: Update upgrade instructions for 2.3.1

Fleshed out the Apache instructions with more precise cp commands.
I find this helpful since I like to copy and paste the commands.

Signed-off-by: Robert Soulliere <>
8 years agoStamping upgrade script for lost xact_finish opt.
Dan Wells [Tue, 13 Nov 2012 20:45:07 +0000 (15:45 -0500)]
Stamping upgrade script for lost xact_finish opt.

Signed-off-by: Dan Wells <>
8 years agoAddress Launchpad Bug 793550.
Jason Stephenson [Sat, 3 Nov 2012 16:04:34 +0000 (12:04 -0400)]
Address Launchpad Bug 793550.

Check for stop fines reason of CHECKIN or RENEW before closing a circulation
transaction when the balance reaches zero.

Also, if the stop fines reason is LOST, then check a new ou setting,
circ.lost.xact_open_on_zero, to determine if the transaction is closed or
kept open.  The setting is checked for the circulation copy's circ_lib.

Add CircCommon->can_close_circ.

Following up on Dan Wells' comments on Launchpad Bug 793550, I have moved
the logic to check if the circ transaction can be closed to its own utility
function in OpenILS::Application::Circ::CircCommon.  This potentially
consolidates the logic in one place in case we need to use it elsewhere.

Instead of checking for stop fines reasons of CHECKIN and RENEW and
checking for checkin time on the circ, we just check for checkin time.
Both CHECKIN and RENEW should set the checkin time.

Also, use the constant for stop fines reason of LOST, rather than the
literal string "LOST".

Signed-off-by: Jason Stephenson <>
Signed-off-by: Dan Wells <>
8 years agoNo need for vanity info in OpenSRF article
Dan Scott [Mon, 12 Nov 2012 16:46:21 +0000 (11:46 -0500)]
No need for vanity info in OpenSRF article

We don't credit particular authors in the Evergreen docs, and we don't
want to dissuade contributors from improving & evolving any particular
section of the docs, so get rid of a hangover attribution from the
OpenSRF article.

Signed-off-by: Dan Scott <>
8 years agoAdd "Intro to OpenSRF" to development section
Dan Scott [Mon, 12 Nov 2012 16:32:31 +0000 (11:32 -0500)]
Add "Intro to OpenSRF" to development section

We have the Asciidoc source, so let's drop it into place. Triggered by a
request for info on OpenSRF development on IRC that was answered with
"we don't really have much information on that" response. *Poof*, now
we have some.

Signed-off-by: Dan Scott <>
8 years agoDocs: resolve transform errors and warnings
Dan Scott [Mon, 12 Nov 2012 16:28:58 +0000 (11:28 -0500)]
Docs: resolve transform errors and warnings

ePub really doesn't like absolute references to images - which is good,
it shouldn't. Also, single line NOTE blocks are much easier to deal with
using the prefix approach (and don't generate warnings during normal
HTML generation).

Signed-off-by: Dan Scott <>
8 years agoDocumentation: Fix small typo in 2.3 release notes. s/how/now.
Remington Steed [Mon, 12 Nov 2012 16:10:31 +0000 (11:10 -0500)]
Documentation: Fix small typo in 2.3 release notes. s/how/now.

Signed-off-by: Robert Soulliere <>
8 years agoDocumentation: Fix some broken links and adjust an image in the
Robert Soulliere [Mon, 12 Nov 2012 15:36:09 +0000 (10:36 -0500)]
Documentation: Fix some broken links and adjust an image in the
Acquistions Admin chapter as pointed out by Remington Steed.

Added anchors, pointed links to "Line Item Features" and changed
wording accordingly. I cropped image and use a red box for highlighting.

Signed-off-by: Robert Soulliere <>
8 years agoAdd translation update info back into official docs
Dan Scott [Mon, 12 Nov 2012 14:17:05 +0000 (09:17 -0500)]
Add translation update info back into official docs

This disappeared in the 2.3 release for some reason; let's get it back.

Signed-off-by: Dan Scott <>
8 years agoDocumentation: Update upgrade instructions to 2.3.0.
Robert Soulliere [Wed, 3 Oct 2012 17:21:57 +0000 (13:21 -0400)]
Documentation: Update upgrade instructions to 2.3.0.

Signed-off-by: Robert Soulliere <>
Signed-off-by: Dan Scott <>
8 years agoDocumentation: update upgrade instructions to 2.3.beta2.
Robert Soulliere [Thu, 23 Aug 2012 17:07:24 +0000 (13:07 -0400)]
Documentation: update upgrade instructions to 2.3.beta2.

Signed-off-by: Robert Soulliere <>
Signed-off-by: Dan Scott <>
8 years agomake_release: add the \set eg_version command to upgrade script
Dan Scott [Wed, 7 Nov 2012 17:55:49 +0000 (12:55 -0500)]
make_release: add the \set eg_version command to upgrade script

We were echoing the output to STDOUT instead of redirecting it to the
upgrade script that we were generating. Let's go the last mile and
actually get it into the upgrade script.

Signed-off-by: Dan Scott <>
Signed-off-by: Bill Erickson <>
8 years agoMake it possible to suppress IDL fields
Mike Rylander [Wed, 10 Oct 2012 21:36:52 +0000 (17:36 -0400)]
Make it possible to suppress IDL fields

Some clients of external services, particularly pcrud and reporter-store,
need to be able to access tables that contain columns we'd rather restrict.
For instance, the passwd field on actor.usr.

To effect this feature we provide a blacklist attribute for fields, called
suppress_controller, which works in the same way as the class controller
attribute but names controllers not allowed to use the field.  When the field
is explicitly named in a query (fieldmapper select block or json_query) an
error is thrown, and suppressed fields are ingored in general fieldmapper
search/retreive requests.

Signed-off-by: Mike Rylander <>
Signed-off-by: Bill Erickson <>
8 years agoMove 'initial host' feature docs into 2.3 release notes
Bill Erickson [Tue, 6 Nov 2012 20:28:28 +0000 (15:28 -0500)]
Move 'initial host' feature docs into 2.3 release notes

Signed-off-by: Bill Erickson <>
8 years agoCStoreEditor auto-activity log redaction
Bill Erickson [Fri, 2 Nov 2012 19:28:27 +0000 (15:28 -0400)]
CStoreEditor auto-activity log redaction

CStoreEditor logs all update calls to the activity log as key/value
pairs on the updated object.  Avoid loging key/value pairs for objects
when the API call being relayed by CStoreEditor is on the list of
log-protect API calls.  Instead, log "**DETAILS REDACTED**".

Signed-off-by: Bill Erickson <>
Signed-off-by: Dan Scott <>
8 years agoDocument log redaction XML chunk for opensrf_core.xml
Dan Scott [Tue, 6 Nov 2012 03:14:34 +0000 (22:14 -0500)]
Document log redaction XML chunk for opensrf_core.xml

Based on Bill Erickson's original version.

Signed-off-by: Dan Scott <>
Signed-off-by: Bill Erickson <>
8 years agoAdd sample log redaction config to EG opensrf_core
Bill Erickson [Wed, 31 Oct 2012 13:00:19 +0000 (09:00 -0400)]
Add sample log redaction config to EG opensrf_core

Redact parameter logging for the following API calls:


User updates:

Signed-off-by: Bill Erickson <>
Signed-off-by: Dan Scott <>
8 years agoStaff client initial hostname
Thomas Berezansky [Thu, 2 Aug 2012 17:28:44 +0000 (13:28 -0400)]
Staff client initial hostname

Add support for an initial staff client hostname.

It can be specified during building the staff client or via configure.

During making the staff client:

make INITIAL_HOST=hostname build

During configure:

./configure --with-initialhost=hostname

Signed-off-by: Thomas Berezansky <>
Signed-off-by: Ben Shum <>
8 years agoTPAC: Address some search syntax leaks in links
Dan Scott [Thu, 11 Oct 2012 04:56:40 +0000 (00:56 -0400)]
TPAC: Address some search syntax leaks in links

Expand the list of filtered characters to cover all of the special
characters documented for the Evergreen search grammar
when generating links in the TPAC so as to avoid inadvertently launching
filtered searches when a user clicks on something that should just be a
display value.

For example, if a title includes "Presenting a subject: tips for
consultants", it should _not_ launch a search for "subject" containing
"tips for consultants".

This commit addresses most of the link problems in the record
display, as well as the author links in the search results table.

Still problematic are the facets (which seem to rely on exact matching,
such that filtering out the problematic characters is itself
problematic) and autocomplete (which requires modifying the Autocomplete
Dojo widget).

In addition, this commit makes the series code actually display, as it
was using a non-standard method to attempt to return the results from
the BLOCK (and failing). Also, it makes the links for authors in the
record details match the MODS32 definition for personal name parts and
only use the "acdq" subfields. This enables a click on the link to
actually return results; previously, in the case where the author field
included (for example) a subfield "g" value, that value would be
included in the generated link and would likely lead to 0 hits.

For authors, we substitute with a space rather than just eliding the
substituted value. Authors are particularly likely to have dates like
1899-1978; "1899 1978" matches, but "18991978" will not.

Perhaps we should take the same approach with the others, or break down
the search/replace logic a little further (for example, we could remove
the "-" only if it is preceded by a space or is at the start of the
string and is followed immediately by a character, and preserve it if it
is surrounded by digits). But this seems to take us pretty far down the
road of less negatively surprising results.

Signed-off-by: Dan Scott <>
Signed-off-by: Bill Erickson <>
8 years agoTPAC: Add search torture tests to concerto record
Dan Scott [Thu, 11 Oct 2012 03:35:13 +0000 (23:35 -0400)]
TPAC: Add search torture tests to concerto record

In addition to # signs causing problems in facets, we found that search
syntax in general is surfaced directly in most links that are exposed to
users in the TPAC. This commit adds several examples to the record with
the title "Trombone concerto (1991)":

In the title, there is an embedded "subject:" search which will be
triggered by autocomplete.

In the author (100 field), there is an embedded "author:" search which
will be triggered from the record details page. This also includes
another usage of the # sign.

In the subject fields, there are:
  * an embedded "subject:" search which will be triggered from the
    facets, autocomplete, and record details page
  * an embedded negation operator which will be triggered from the
    facets, autocomplete, and record details page

Signed-off-by: Dan Scott <>
Signed-off-by: Bill Erickson <>
8 years agoMunge concerto to include # signs in series facets
Dan Scott [Wed, 10 Oct 2012 19:50:49 +0000 (15:50 -0400)]
Munge concerto to include # signs in series facets

Search for "Piano concerto in C major, op. 39" or "Beethoven: concertos
and overtures" and you'll get facets with # signs to assist with fixing
LP # 856811.

Signed-off-by: Dan Scott <>
Signed-off-by: Bill Erickson <>
8 years agoAdd tsearch2 removal upgrade script
Thomas Berezansky [Thu, 25 Oct 2012 23:51:44 +0000 (19:51 -0400)]
Add tsearch2 removal upgrade script

Signed-off-by: Thomas Berezansky <>
Signed-off-by: Dan Scott <>
8 years agoAdd support for PostgreSQL 9.2, drop TSearch2 extension
Dan Scott [Sat, 22 Sep 2012 20:35:43 +0000 (16:35 -0400)]
Add support for PostgreSQL 9.2, drop TSearch2 extension

The TSearch2 extension hasn't been needed for a long time, and it causes
problems trying to use ts_rewrite(TSQUERY, TEXT) at least.

Add a full text search config script for PostgreSQL 9.2.

Signed-off-by: Dan Scott <>
Signed-off-by: Thomas Berezansky <>
8 years agoAvoid specific version mention for database extensions
Dan Scott [Sun, 23 Sep 2012 01:51:59 +0000 (21:51 -0400)]
Avoid specific version mention for database extensions

As tsbere pointed out, the 9.1 database script will be used for every
version after 9.1... which makes it confusing to have a version number.
As the primary reason for the difference is the switch to extensions
instead of contrib modules, use a name that flags that difference.

Convert the 9.1 full-text search configuration into a symbolic link
instead of maintaining a separate copy of the file.

Given that the pre-9.1 database script was focused on the creation of
PostgreSQL contribs, call it that, rather than the (now confusingly)
generic "create_database.sql" that existed from a time when contribs
ruled the earth and extensions were mere fantasy.

Adjust eg_db_config.sql for these changes as well - including the
command line switches.

Signed-off-by: Dan Scott <>
Signed-off-by: Thomas Berezansky <>
8 years agoTPAC: don't repeat subfields in record content notes
Dan Scott [Fri, 26 Oct 2012 04:52:11 +0000 (00:52 -0400)]
TPAC: don't repeat subfields in record content notes

Given a MARC field like "500 $a 1 $b 2 $c 3", the content note would
display as "1 1 2 1 2 3" as each subfield was appended to the total
set of notes.

Signed-off-by: Dan Scott <>
Signed-off-by: Ben Shum <>
8 years agoSample Apache error syslog captures stderr
Bill Erickson [Wed, 10 Oct 2012 21:26:06 +0000 (17:26 -0400)]
Sample Apache error syslog captures stderr

Not all STDERR output and not all $req->log->foo() output makes it to
the Apache error log when using the 'ErrorLog syslog:local7'
configuration directive.  This changes the sample config to match the
CustomLog config so that all output is captured and redirected to

Signed-off-by: Bill Erickson <>
Signed-off-by: Dan Scott <>
8 years agoLP#1066629: Acq: Receiving an item should not change the status to "In Process" in...
Mark Cooper [Tue, 23 Oct 2012 05:01:22 +0000 (22:01 -0700)]
LP#1066629: Acq: Receiving an item should not change the status to "In Process" in many cases

As suggested, when received, restrict copy status update for lineitem copies to only those that were on-order. Otherwise copies may have the status set to 'In Process' inappropriately.

Signed-off-by: Mark Cooper <>
Signed-off-by: Kathy Lussier <>
Signed-off-by: Ben Shum <>
8 years agoTPAC: indent Content descriptions to line up with Record details
Ben Shum [Tue, 23 Oct 2012 17:42:04 +0000 (01:42 +0800)]
TPAC: indent Content descriptions to line up with Record details

In the interest of trying to keep things a little more presentable, indent
the new content notes so that they line up with the record details bulleted
list items.

Signed-off-by: Ben Shum <>
Signed-off-by: Dan Scott <>
8 years agoTPAC: Use a single table for all content notes
Dan Scott [Tue, 23 Oct 2012 15:57:46 +0000 (11:57 -0400)]
TPAC: Use a single table for all content notes

Rather than having one table per kind of content note, keep them all in
a single table. Thanks to Ben Shum for the prod.

Signed-off-by: Dan Scott <>
Signed-off-by: Ben Shum <>
8 years agoTPAC: Show contents notes directly in record summary
Dan Scott [Tue, 23 Oct 2012 15:47:48 +0000 (11:47 -0400)]
TPAC: Show contents notes directly in record summary

By popular demand in IRC, move the contents notes directly into the body
of the record summary rather than hiding the content under a twisty.
This improves external indexing of the page and makes the contents notes
more immediately evident to users.

Signed-off-by: Dan Scott <>
Signed-off-by: Ben Shum <>
8 years agoAdd detailed contents content to TPAC record summary
Dan Scott [Mon, 22 Oct 2012 19:46:20 +0000 (15:46 -0400)]
Add detailed contents content to TPAC record summary

Drawing from the LoC MARC definitions for the 500 field, display'em if you
got'em. Given that many keyword searches are likely to draw upon this content,
we should display the matches in the record summary.

Signed-off-by: Dan Scott <>
Signed-off-by: Ben Shum <>
8 years agoAdd missing ? to url_prefix regex check
Thomas Berezansky [Tue, 23 Oct 2012 20:27:00 +0000 (16:27 -0400)]
Add missing ? to url_prefix regex check

Fixes Barcode Completion and who knows what else.

Signed-off-by: Thomas Berezansky <>
Signed-off-by: Jason Stephenson <>
8 years agoLP#826917: Marc editor, CTRL+F6, F7, F8 no longer working on 2.0+
Mark Cooper [Wed, 10 Oct 2012 04:04:32 +0000 (21:04 -0700)]
LP#826917: Marc editor, CTRL+F6, F7, F8 no longer working on 2.0+

Updated marcedit.js to recognize F6/7/8 according to codes at:
Did not modify behavior (so input focus is not adjusted post record load).

Signed-off-by: Mark Cooper <>
Signed-off-by: Lebbeous Fogle-Weekley <>
8 years agoSort Templates/Reports/Output
Thomas Berezansky [Wed, 3 Oct 2012 19:25:38 +0000 (15:25 -0400)]
Sort Templates/Reports/Output

By name for Templates/Reports, by Run Time for Output.

Signed-off-by: Thomas Berezansky <>
Signed-off-by: Michael Peters <>
Signed-off-by: Ben Shum <>
8 years agoAdmin -> Local Admin -> Item Attribute Editor
Jason Etheridge [Tue, 24 Apr 2012 20:54:20 +0000 (16:54 -0400)]
Admin -> Local Admin -> Item Attribute Editor

Main purpose is to allow you to spawn the Item Attribute Editor for the purpose
of configuring templates and using the Hide Fields feature without actually
finding an item to work and putting it at risk of accidental modification.

Signed-off-by: Jason Etheridge <>
Signed-off-by: Jason Stephenson <>
Signed-off-by: Ben Shum <>
8 years agoRollback cstore transaction before bbag record load
Bill Erickson [Thu, 18 Oct 2012 18:54:08 +0000 (14:54 -0400)]
Rollback cstore transaction before bbag record load

To avoid timeouts, which results in transaction rollbacks, preemptively
roll back the bookbag fetching cstore transaction before we retrieve
what could be a very large list of bookbag records data.

Signed-off-by: Bill Erickson <>
Signed-off-by: Jason Stephenson <>
8 years agoAuthority popups are empty: fix dojo.query() usage
Dan Scott [Tue, 9 Oct 2012 20:49:09 +0000 (16:49 -0400)]
Authority popups are empty: fix dojo.query() usage

When you right-click on a controllable field to display the contents of
the matching authority records, the contents of the matching authority
records simply appear as empty grey boxes.

This is another case of needing to iterate over multiple values
separately rather than using one convenient CSS selector.

Signed-off-by: Dan Scott <>
Signed-off-by: Bill Erickson <>
8 years agoEnable maintain_control_number() to handle new OCLCnums
Dan Scott [Tue, 9 Oct 2012 02:30:32 +0000 (22:30 -0400)]
Enable maintain_control_number() to handle new OCLCnums

In July 2013, per LP# 1049171, OCLC will begin generating control
numbers beginning with the "on" prefix.

Signed-off-by: Dan Scott <>
Signed-off-by: Lebbeous Fogle-Weekley <>
8 years agoAcq: When creating invoices, let the user know if they're repeating an ID
Lebbeous Fogle-Weekley [Mon, 1 Oct 2012 17:53:27 +0000 (13:53 -0400)]
Acq: When creating invoices, let the user know if they're repeating an ID

Invoices have a field for Vendor Invoice ID, which is required to be
unique for invoices associated with a given provider (vendor).  In
practice users may mistakenly try to create an invoice more than once, so
this gives them an indication that a given Vnedor Invoice ID has already
been used before they fill out the whole invoice.

Users do have to have the fields labeled "Vendor Invoice ID",
"Provider", and "Receiver" filled out before validation can occur (the
last field is needed because of how permissions are checked when
searching for invoices).

It is still possible to see a database error at save time if another
invoice is created between the time you started yours and the time
somebody else saved theirs.

Also, while we're at it, this commit gets rid of acq/invoice/common.js
and moves its last function into acq/invoice/view.js, since both are
actually used only by the one interface.

Signed-off-by: Lebbeous Fogle-Weekley <>
Signed-off-by: Kathy Lussier <>
8 years agoACQ invoice tabs scroll improvements
Bill Erickson [Fri, 28 Sep 2012 17:58:07 +0000 (13:58 -0400)]
ACQ invoice tabs scroll improvements

Avoid nested scrollbars on tabbed ACQ invoice UI.  This is done by
removing a ContentPane layer and setting doLayout='false' on the
TabContainer, which allows the individual tabs to control their own
height dynamically, which means no more hard-set 600px height on the

Signed-off-by: Bill Erickson <>
Signed-off-by: Kathy Lussier <>
8 years agoACQ scroll back to top of lineitem info page
Bill Erickson [Mon, 17 Sep 2012 18:50:36 +0000 (14:50 -0400)]
ACQ scroll back to top of lineitem info page

When displaying the lineitem "info" page (li attributes, marc record),
be sure to scroll to the top of the page instead of relying on the
previous scroll location.  In particular, if you last viewed a LI
toward the bottom of the page, returned (causes scroll down), then go
back into the info page, the page will be scrolled to the bottom.

The solution is a little funkier than I'd hoped.  The scroll-to point
has to be a node that is a) within the scrolling dojo div and b). non-
visible when scrollIntoView is called.  Since the top-level
page div may be different, depending on who is loading li_table, we rely
on the caller to place an id=oils-scroll-to-top div in the page for
general top-scrolling.  (Note, also, window.scrollTo does not work when
it's the div and not the full page that needs scrolling).

Signed-off-by: Bill Erickson <>
Signed-off-by: Kathy Lussier <>
8 years agoexpose hard-coded toolbar layout option
Jason Etheridge [Wed, 13 Jun 2012 06:30:36 +0000 (02:30 -0400)]
expose hard-coded toolbar layout option

If the preference or ui.general.button_bar org unit
setting references a non-existent toolbar, then a hard-coded stock toolbar
will render.  However, the menu entry 'None' will be selected under the
Admin -> Workstation Administration -> Toolbars -> Current menu, which is

With this change, a Default menu entry will be selected whenever the hard-
coded layout has cause to render, and you can also explicitly select that
menu entry to use the default and save it as your workstation default.

Signed-off-by: Jason Etheridge <>
Signed-off-by: Kathy Lussier <>
8 years agoTPAC: Make facet display work as in JSPAC
Lebbeous Fogle-Weekley [Thu, 11 Oct 2012 20:00:36 +0000 (16:00 -0400)]
TPAC: Make facet display work as in JSPAC

Namely, this means:
    - You see five facets per category by default, not ten.
    - You can click a link to see all the facets in a category
        (before this it was impossible to display more than ten).
    - When viewing all the facets in a category, you can click a link
        to reduce the list back to five.
    - This number five I'm talking about is configurable in config.tt2.
    - Alphabetical sorting of facets grouped by the same numbers of
      results is restored.

This addresses LP #1065109.

Signed-off-by: Lebbeous Fogle-Weekley <>
Signed-off-by: Kathy Lussier <>
8 years agoAllow choice of default search pane
Thomas Berezansky [Mon, 1 Oct 2012 19:18:19 +0000 (15:18 -0400)]
Allow choice of default search pane

Some workflows prefer numeric or expert search, so accomodate them.

Also, add a "Clear All" button to clear the search prefs.

Signed-off-by: Thomas Berezansky <>
Signed-off-by: Ben Shum <>
8 years agoAdd tab name for search preferences
Thomas Berezansky [Thu, 20 Sep 2012 18:49:01 +0000 (14:49 -0400)]
Add tab name for search preferences

Signed-off-by: Thomas Berezansky <>
Signed-off-by: Jason Etheridge <>
Signed-off-by: Ben Shum <>
8 years agoAllow staff to pick search/pref libraries
Thomas Berezansky [Thu, 20 Sep 2012 18:33:41 +0000 (14:33 -0400)]
Allow staff to pick search/pref libraries

This adds a workstation-level set of settings for search and preferred
libraries. These override the default search library and the preferred
library individually, allowing staff to default searching at one OU but
still get copy information for a different one.

Original use case is "search everywhere, but show my local copies".

Signed-off-by: Thomas Berezansky <>
Signed-off-by: Jason Etheridge <>
Signed-off-by: Ben Shum <>
8 years agoUpgrade script numbering for new toolbar perms
Lebbeous Fogle-Weekley [Wed, 17 Oct 2012 00:55:38 +0000 (20:55 -0400)]
Upgrade script numbering for new toolbar perms

Signed-off-by: Lebbeous Fogle-Weekley <>
8 years agoBrief entry for release notes on more granular permissions for custom toolbars
Kathy Lussier [Thu, 11 Oct 2012 02:18:59 +0000 (22:18 -0400)]
Brief entry for release notes on more granular permissions for custom toolbars

Signed-off-by: Kathy Lussier <>
Signed-off-by: Lebbeous Fogle-Weekley <>
8 years agolp1053026, more granular toolbar editing perms
Jason Etheridge [Thu, 20 Sep 2012 15:27:43 +0000 (11:27 -0400)]
lp1053026, more granular toolbar editing perms

client-side checking only to keep the honest folk out

ADMIN_TOOLBAR_FOR_WORKSTATION to the permission list

Staff needs at least one of these to create a toolbar, and they still need the
original ADMIN_TOOLBAR permission which is used on the server side of things.

For editing an existing toolbar, staff needs the perm corresponding to the
toolbar's ownership type (for example, if the toolbar is associated with a
user, then ADMIN_TOOLBAR_FOR_USER is needed).

For changing the ownership type of a toolbar one is allowed to edit, you
need the corresponding perm for the desired ownership type.

Signed-off-by: Jason Etheridge <>
Signed-off-by: Kathy Lussier <>
8 years agoImprovements to custom org tree UI
Bill Erickson [Thu, 23 Aug 2012 21:29:42 +0000 (17:29 -0400)]
Improvements to custom org tree UI

This replaced the PermaCrud.js create() calls with inline transaction
begin, creates, and commit.  We do this to solve a number of problems:

* Create all new nodes within the same transaction so that a failure
gracefully rolls back.

* PermaCrud.js does not currently disconnect opensrf client sessions
(though it has a disconnect() method).  We can manage that locally.

Signed-off-by: Bill Erickson <>
Signed-off-by: Kathy Lussier <>
8 years agoAdded a check for the money.collections_tracker table when using the open-ils.collect...
Steven Callender [Mon, 15 Oct 2012 14:48:28 +0000 (10:48 -0400)]
Added a check for the money.collections_tracker table when using the open-ils.collections.users_of_interest.warning_penalty.retrieve API call.

Users that are already entered into the money.collections_tracker table should not be recalled from the open-ils.collections.users_of_interest.warning_penalty.retrieve API. This change will check for the existance of the user in the money.colletions_tracker table.

Signed-off-by: Steven Callender <>
Signed-off-by: Bill Erickson <>
8 years agotrivial whitespace cleanup
Galen Charlton [Fri, 12 Oct 2012 19:38:59 +0000 (15:38 -0400)]
trivial whitespace cleanup

Locally consistent, globally all over the map in this file.

Signed-off-by: Galen Charlton <>
8 years agoAdding a WHERE clause to prevent timeout of juv-to-adult function
Chris Sharp [Thu, 11 Oct 2012 23:33:16 +0000 (19:33 -0400)]
Adding a WHERE clause to prevent timeout of juv-to-adult function

Signed-off-by: Chris Sharp <>
Signed-off-by: Galen Charlton <>
8 years agoTPAC: Respect location visibility for result copies
Dan Scott [Thu, 11 Oct 2012 05:43:01 +0000 (01:43 -0400)]
TPAC: Respect location visibility for result copies

Robert Soulliere noted in LP# 1062502 that copies in a location marked
"opac_visible = FALSE" were erroneously being displayed in search
results. This would occur if at least one copy on a record was in a
visible location, but other copies were in an invisible location.

This commit prevents copies in hidden locations from being displayed,
and also adds guards for the visibility of the copy status and the
circulation library.

Signed-off-by: Dan Scott <>
Signed-off-by: Robert Soulliere <>
8 years agoSerials: Don't force a Receive Unit Template in Alt Serials Control
Lebbeous Fogle-Weekley [Thu, 27 Sep 2012 18:51:44 +0000 (14:51 -0400)]
Serials: Don't force a Receive Unit Template in Alt Serials Control

Mary Llewellyn reported that she used to be able to use serials and
perform copy-less receiving without any value in this field.

The requirement that a value be set in the Receive Unit Template field
of serial distributions was added (by me) in 2.1 to the alternate serials
control interface, but is not enforced at lower levels.

I now believe that requiring a value here must have been a ham-handed
way to avoid a difficult-to-troubleshoot issue in copy-FUL receiving,
but copy-LESS serials receiving workflows indeed don't need this, so
this commit removes the requirement.

Signed-off-by: Lebbeous Fogle-Weekley <>
Signed-off-by: Ben Shum <>
8 years agoUse current fiscal year for PO creation (API)
Bill Erickson [Wed, 5 Sep 2012 18:39:36 +0000 (14:39 -0400)]
Use current fiscal year for PO creation (API)

When creating a PO, if no fiscal_year is specified by the caller, use
the current fiscal year of the ordering agency.  This change primarily
affects the Open-ILS/src/support-scripts/ script (and
any other direct API callers) which does not offer the user a chance to
set the fiscal year manually.

Signed-off-by: Bill Erickson <>
Signed-off-by: Mike Rylander <>
8 years agosort hostnames listed in login window
Jason Etheridge [Thu, 11 Oct 2012 16:35:58 +0000 (12:35 -0400)]
sort hostnames listed in login window

for those of us with a lot of hosts to deal with :)

Signed-off-by: Jason Etheridge <>
Signed-off-by: Michael Peters <>
Signed-off-by: Ben Shum <>
8 years agoFix autosuggest when in no-vis-check mode
Mike Rylander [Thu, 20 Sep 2012 19:17:36 +0000 (15:17 -0400)]
Fix autosuggest when in no-vis-check mode

When autosuggest is configured to avoid visiblity checking, it sends a
special org unit id of -1 to the database as a signal.  However, the stored
procedure is expecting a NULL instead.  This allows either by transforming
-1 to NULL within the stored procedure.

Signed-off-by: Mike Rylander <>
Signed-off-by: Lebbeous Fogle-Weekley <>
8 years agoLP#1007020: Using checkout, last activity shows as unset
Mark Cooper [Tue, 9 Oct 2012 19:41:44 +0000 (12:41 -0700)]
LP#1007020: Using checkout, last activity shows as unset

Added usr_activity to $fields for flesh_user function.

Signed-off-by: Mark Cooper <>
Signed-off-by: Ben Shum <>
8 years agoTPAC: Show ISSN in search results, if available
Dan Scott [Wed, 12 Sep 2012 18:09:04 +0000 (14:09 -0400)]
TPAC: Show ISSN in search results, if available

Just as we show the ISBN in search results, the ISSN is an important
identifier to display if we have one (and we often will if we don't have
an ISBN).

Signed-off-by: Dan Scott <>
Signed-off-by: Lebbeous Fogle-Weekley <>
8 years agoRemove C compiler warning for writeAuditInfo
Dan Scott [Thu, 30 Aug 2012 04:21:01 +0000 (00:21 -0400)]
Remove C compiler warning for writeAuditInfo

The C compiler was throwing the following warning:

oils_sql.c: In function 'writeAuditInfo':
oils_sql.c:7244:1: warning: control reaches end of non-void function

By shifting the "return 0" to the end of the function, outside of the if
statements, we can ensure that we always return an int value.

Signed-off-by: Dan Scott <>
Signed-off-by: Jason Stephenson <>
8 years agoTPAC: Add a progress spinner after pressing search on Advanced Search
Michael Peters [Fri, 21 Sep 2012 15:47:41 +0000 (11:47 -0400)]
TPAC: Add a progress spinner after pressing search on Advanced Search

Advanced Search had no indication of progress once you've submitted
a search. We should add a "progressbar_green.gif" like the basic search
has, so the user knows their search is in progress, and (hopefully)
avoids them from hammering submit to get a result.

Signed-off-by: Michael Peters <>
Signed-off-by: Lebbeous Fogle-Weekley <>
8 years agoACQ invoice receive UI handles async LI retrieval
Bill Erickson [Wed, 3 Oct 2012 19:00:26 +0000 (15:00 -0400)]
ACQ invoice receive UI handles async LI retrieval

openils.acq.Linetitem.fetchAndRender() now fetches lineitems
asynchronously.  This commit causes the invoice receive UI to calculate
the copies to be received after all lineitems have been (async) fetched.
Without this, it always appears as though there are no copies to receive

Signed-off-by: Bill Erickson <>
Signed-off-by: Kathy Lussier <>
Signed-off-by: Lebbeous Fogle-Weekley <>