contrib/Conifer.git
12 years agoEDI invoice date; invoice paid quantity/amount
Bill Erickson [Wed, 5 Dec 2012 14:34:00 +0000 (09:34 -0500)]
EDI invoice date; invoice paid quantity/amount

* capture the invoice date in EDIReader
* apply the invoice date to inbound invoices when available instead of
  defaulting to 'now'
* apply the quantity/amount billed to the quantity/amount paid to reduce
  staff data entry needs

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
12 years agoEDI: ensure lineitem 'state' matches cancel state
Bill Erickson [Tue, 4 Dec 2012 15:00:26 +0000 (10:00 -0500)]
EDI: ensure lineitem 'state' matches cancel state

When cancelling a lineitem becuase all linked copies are cancelled,
ensure that the lineitem state is set to "cancelled".

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
12 years agoEDI response honor lineitem-level status; debit cleanup
Bill Erickson [Mon, 3 Dec 2012 19:51:41 +0000 (14:51 -0500)]
EDI response honor lineitem-level status; debit cleanup

* Honor lineitem-level order status info (FTX+LIN) which indicates, in
  some cases, that all ordered copies should be cancelled because the LI
  as a whole is cancelled

* Delete fund debits for cancelled lineitem details when appropriate

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
12 years agoEDI: protect against invalid order response
Bill Erickson [Mon, 3 Dec 2012 14:20:29 +0000 (09:20 -0500)]
EDI: protect against invalid order response

Do not attempt to createI EDI messages for order responses which
reference nonexistent purchase orders, since it results in
transaction commit errors on invalid foreign keys, preventing
subsequent EDI files from getting processed.  Instead, log it
and skip it.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
12 years agoEDIReader : detect SAN vs. account number in buyer/seller
Bill Erickson [Mon, 12 Nov 2012 14:35:53 +0000 (09:35 -0500)]
EDIReader : detect SAN vs. account number in buyer/seller

NAD+BY+XXXXXXX::31B' -- SAN
NAD+BY+YYYYYYY::91' -- Account number

For invoices, try the SAN first followed by the account number to
determine the receiving org unit.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
12 years agoCustom/local EDI reader module for ORDRSP and INVOIC (etc)
Bill Erickson [Fri, 28 Sep 2012 14:34:28 +0000 (10:34 -0400)]
Custom/local EDI reader module for ORDRSP and INVOIC (etc)

Provides a new perl module (OpenILS::Utils::EDIReader) for reading
inbound EDI messages and producing data structures more easily
understood by the ACQ code.  Through this, extraction of EDI data is
focused in one module instead of spread through various layers.

EDIReader is a small, purpose built module focusing solely on extracting
the needed EDI data and is not meant to be a general purpose EDI library.

* Updates edi_fetcher and the ORDRSP and INVOIC handling code to use the
  new libs.

* Removes Business::EDI Evergreen dependency, since it's no longer used (and
  is quite large).

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
12 years agoFix a data destruction bug when authorities are updated.
Jason Stephenson [Fri, 11 Jan 2013 13:49:11 +0000 (08:49 -0500)]
Fix a data destruction bug when authorities are updated.

Modify the two-argument form of vandelay.merge_record_xml to return
the target_marc when the add_rule, preserve_rule, replace_rule and
strip_rule are all empty.

This method is used by authority.propagate_changes and would replace
the bibliographic record's marc with the overlay template when the
above would happen. By returning the biblographic record entry's own
marc in that case, we prevent data destruction.

Additionally, protect bib and authority template overlay functions
in the same manner.

Commit includes an upgrade script for this change as well as
for the previous commit's authority.generate_overlay_template fix.

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Conflicts:
Open-ILS/src/sql/Pg/002.schema.config.sql

12 years agoOnly consider main entry headings for bib overlay
Mike Rylander [Thu, 10 Jan 2013 21:35:44 +0000 (16:35 -0500)]
Only consider main entry headings for bib overlay

Restrict the authority fields we will pull overlay data from to those
that do not subordinate themselves to other authority fields.  That
is, skip see-from/see-also/etc for bib overlay.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
12 years agoAcq: When invoice-building with embedded search, allow control of results list
Lebbeous Fogle-Weekley [Fri, 5 Oct 2012 22:42:11 +0000 (18:42 -0400)]
Acq: When invoice-building with embedded search, allow control of results list

Previously, a results list could accumulate under inconsistent
conditions.  You'd get an accumulating results list if you were pressing
enter after successful searches, but your results lists would clear if
you actually clicked the Search button.  Worse, searches yielding empty
result sets would *appear* to clear your result list, but subsequent
sucessful searches would restore what was there before.

This is the "missing commit" that makes the behavior consistent and
togglable.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
12 years agofix user session management for MARC Batch Edit
Galen Charlton [Fri, 4 Jan 2013 19:33:28 +0000 (14:33 -0500)]
fix user session management for MARC Batch Edit

The Javascript in the hardcoded page templates was
not checking the XUL stash for the session key when
run from the staff client; this is now needed as
a result of the XULRunner updates introdued by
commit adee850f.

As a consequence, the list of the user's record buckets
was not retrieved, and attempts to run a batch edit
would spin without updating any records.

This fixes LP#1048707 and LP#1054277.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
12 years agoCAS Support for Evergreen
Art Rhyno [Wed, 23 Jan 2013 04:35:40 +0000 (23:35 -0500)]
CAS Support for Evergreen

This branch contains one approach to supporting CAS within Evergreen, I
had originally thought of CAS as an "all or nothing" option but I have
tried to make it possible to support standard authentication at the same
time since we will have a transition period where some accounts won't be
CAS-enabled and I suspect this is typical. As well, it is possible that
a library will need to have the ability to add accounts outside of the
campus directory.

In /openils/conf/opensrf.xml, you would add CAS-specific values,for
example

 <app_settings>
    <!-- 'enabled' is the master switch; set to 'true' to enable proxied logins -->
    <enabled>true</enabled>
    <authenticators>
        <authenticator>
           <name>cas</name>
           <module>OpenILS::Application::AuthProxy::CAS_Auth_Conifer</module>
           <cas_validate_url>https://uwinid.uwindsor.ca/cas/proxyValidate</cas_validate_url>
           <cas_service>https://localhost/eg/opac/login</cas_service>
           <cas_suffix>@uwindsor.ca</cas_suffix>
        </authenticator>
        <!-- 'native' is a proxied version of Evergreen's standard authentication -->

        <authenticator>
            <name>native</name>
            <!-- you can add 'login_types' and 'org_units' limits to this authenticator as well, if needed -->
        </authenticator>
    </authenticators>
 </app_settings>

The entry point for CAS is in topnav.tt2, I have added a "cas_intro"
option in order to give an introduction screen before passing a user to
the CAS service:

 <div id="your-acct-login-uwin">
    <a href="[% mkurl(ctx.opac_root _ '/cas_intro') %]"
       class="opac-button opac-button-header" id="home_myopac_link_uwin">
       [% l('Log in to Your Account (UWind ID)') %]
    </a>
 </div>

but you could just go directly to cas at this point:

 <div id="your-acct-login-uwin">
    <a href="[% ctx.cas.url %]"
       class="opac-button opac-button-header" id="home_myopac_link_uwin">
       [% l('Log in to Your Account (UWind ID)') %]
    </a>
 </div>

where ctx.cas.url is set in the config.tt2 file, for example:

 ctx.cas.url = 'https://uwinid.uwindsor.ca/cas/login?service=https://localhost/eg/opac/login';

I use a cookie to indicate that CAS has been used to authenticate, since
it requires a slightly different logout sequence. This also gets
reflected in topnav.tt2 if you are using both CAS and standard
authentication:

[% IF CGI.cookie('eg_CAS') %]
   <a href="[% mkurl(ctx.opac_root _ '/logout?redirect_to=' _ ctx.cas.logout, {}, 1) %]"
      class="opac-button" id="logout_link">[% l('Logout') %]</a>
[% ELSE %]
   <a href="[% mkurl(ctx.opac_root _ '/logout', {}, 1) %]"
      class="opac-button" id="logout_link">[% l('Logout') %]</a>
[% END %]

Note the "redirect_to", you will want to clear the session for logging
out of tpac so that another user on a public station won't stumble into
someone else's account. Again, if authentication is strictly CAS, then
you can just use the CAS form of the logout.

Signed-off-by: Art Rhyno <art632000@yahoo.ca>
12 years agoAdd a simple, long-overdue theme for Huntington
Dan Scott [Tue, 22 Jan 2013 17:51:51 +0000 (12:51 -0500)]
Add a simple, long-overdue theme for Huntington

Signed-off-by: Dan Scott <dscott@laurentian.ca>
12 years agoTPAC: Make locale picker match default locale
Dan Scott [Mon, 21 Jan 2013 22:02:42 +0000 (17:02 -0500)]
TPAC: Make locale picker match default locale

As noted by Pasi Kallinen, the language picker would not reflect the
chosen locale unless your cookie had been set or there was an explicit
CGI parameter with the locale name.

Accordingly, get the default locale from the context vars and use that
to set the selected value for the language picker in the absence of
anything else, to prevent the picker from possibly confusingly showing
the first language alphabetically rather than the currently displayed
language in the rest of the UI.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
12 years agoLP#1098377: protect against even more cstore segfaults
Galen Charlton [Tue, 15 Jan 2013 16:30:41 +0000 (11:30 -0500)]
LP#1098377: protect against even more cstore segfaults

Following up on the preceding patch, passing null
as the savepoint name to savepoint.release and
savepoint.rollback would also segfault cstore.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
12 years agoVerify savepoint name is non-null
Bill Erickson [Tue, 15 Jan 2013 15:58:16 +0000 (10:58 -0500)]
Verify savepoint name is non-null

Before we attempt to mangle the name, let's ensure that it's non-null.
Otherwise, segfaults ensue.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
12 years agoProtect against overly long savepoint names
Dan Scott [Fri, 11 Jan 2013 06:32:13 +0000 (01:32 -0500)]
Protect against overly long savepoint names

Per http://postgresql.org/docs/9.1/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS,
the maximum identifier length works out to being 63 bytes (+1 for the
null terminator), so to avoid potential memory pressure by a 10GB string
somehow being passed in as the savepoint name, malloc no more than 64
bytes and copy no more than 63 bytes from the incoming name to the
escaped name.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
12 years agoLP#1098377: sanitize savepoint names
Galen Charlton [Fri, 11 Jan 2013 07:30:50 +0000 (02:30 -0500)]
LP#1098377: sanitize savepoint names

When invoking open-ils.{cstore,pcrud,rstore}.savepoint.*, the
caller supplies a name for the savepoint.  However, the savepoint
names could be constructed so that the caller could execute
arbitrary SQL.  This patch sanitizes the name so that it contains
only alphanumeric and underscore characters.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
12 years agoAvoid CStoreEditor failures on missing log-protect
Bill Erickson [Wed, 16 Jan 2013 14:39:56 +0000 (09:39 -0500)]
Avoid CStoreEditor failures on missing log-protect

When the log_protect configuration chunk is not present in
opensrf_core.xml, gracefully move on without it.  This prevents errors
like:

Can't call method \"shared\" on an undefined value at
/usr/local/share/perl/5.10.1/OpenILS/Utils/CStoreEditor.pm line 646.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
12 years agoGeneric patron barcode generation (OpenSRF and DB)
Dan Scott [Thu, 10 Jan 2013 19:17:33 +0000 (14:17 -0500)]
Generic patron barcode generation (OpenSRF and DB)

Laurentian University needed the ability to generate barcodes as part of
its LDAP integration work, and the first generation (so to speak) of the
was specific to LU - including hard-coded prefixes and database
functions that include the "lu" name.

This commit makes the functionality much more generic and thus more
likely to be able to be adopted by other institutions. The principle
components are:

Database functions:

evergreen.actor_generate_barcode([prefix TEXT]) - returns a 14-digit
  barcode from the evergreen.actor_barcode_seq sequence with a prefix of
  'AUTOBC' or the specific prefix of up to 6 characters. If the
  resulting barcode is all digits, then the 14th character will be a
  mod10 check digit; otherwise the 14th digit will be '0'.

evergreen.actor_update_barcode(usr_id INTEGER[, prefix TEXT]) -
  generates a new barcode for the specified user, with the optional
  barcode prefix.

evergreen.mod10(barcode TEXT) - given a barcode, generates a mod10
  check digit and returns the barcode with the appended check digit

OpenSRF method:

open-ils.actor.generate_patron_barcode([usr_id INT[, prefix TEXT]]) -
  generates a new barcode for the patron

Signed-off-by: Dan Scott <dscott@laurentian.ca>
12 years agoAdd search filters for formats and clean up front page
Art Rhyno [Tue, 4 Dec 2012 02:15:33 +0000 (21:15 -0500)]
Add search filters for formats and clean up front page

This uses evergreen's filter group functionality to add
"Videos", "Maps", and "Music" for limiting searches from the
basic search screen. The link to the jspac is also finally
retired and a "Start Over" link is added.

The filter group uses the following SQL:

INSERT INTO actor.search_filter_group (owner, code, label)
    VALUES (106, 'tpac_windsor', 'Windsor''s OPAC Search Filter');

INSERT INTO actor.search_query (label, query_text)
    VALUES ('Maps', 'item_type(e,f)');

INSERT INTO actor.search_query (label, query_text)
    VALUES ('Music', 'item_type(c,d,j)');

INSERT INTO actor.search_query (label, query_text)
    VALUES ('Videos', 'item_type(g)');

INSERT INTO actor.search_filter_group_entry (grp, query, pos)
    VALUES (
        (SELECT id FROM actor.search_filter_group WHERE code = 'tpac_windsor'),
        (SELECT id FROM actor.search_query WHERE label = 'Maps'),
        1
    );
INSERT INTO actor.search_filter_group_entry (grp, query, pos)
    VALUES (
        (SELECT id FROM actor.search_filter_group WHERE code = 'tpac_windsor'),
        (SELECT id FROM actor.search_query WHERE label = 'Music'),
        2
    );

INSERT INTO actor.search_filter_group_entry (grp, query, pos)
    VALUES (
        (SELECT id FROM actor.search_filter_group WHERE code = 'tpac_windsor'),
        (SELECT id FROM actor.search_query WHERE label = 'Videos'),
        3
    );

Signed-off-by: Art Rhyno <art632000@yahoo.ca>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoFix LU link breakage, 2012-12-10 edition
Dan Scott [Mon, 10 Dec 2012 18:24:30 +0000 (13:24 -0500)]
Fix LU link breakage, 2012-12-10 edition

Also make links translatable

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoRemove a schema.org-wrecking div tag from record summary
Dan Scott [Wed, 28 Nov 2012 18:31:16 +0000 (13:31 -0500)]
Remove a schema.org-wrecking div tag from record summary

This was cutting off ISBN ids, subject keywords, etc...

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoAlign authority fixed fields to marcedit.xul
Art Rhyno [Thu, 1 Nov 2012 23:38:50 +0000 (19:38 -0400)]
Align authority fixed fields to marcedit.xul

Our staff have identified 11 fixed fields that are not mapped
from marcedit.xul to FixedFields.js for authority records:

* Geodiv
* Kind
* SerType
* HeadMain
* HeadSer
* TypeGov
* RefEval
* RecUpd
* NameDiff
* Level
* CatSrc

I have modified FixedFields.js to match the values in marcedit.xul
rather than the other way around so that the display remains
consistent.

Signed-off-by: Art Rhyno <art632000@yahoo.ca>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoRevert "Bug #1044721: QP handles explicit group+joiner badly"
Lebbeous Fogle-Weekley [Fri, 7 Sep 2012 15:42:12 +0000 (11:42 -0400)]
Revert "Bug #1044721: QP handles explicit group+joiner badly"

This reverts commit b77bb9943009b81042b4ef1a6ac33ec9e3e96dd7.

Unfortunately this had side effects that escaped our manual testing
processes.  Especially with facets as reported by Ben Shum.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 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 <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
13 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 <hopkinsju@gmail.com>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
13 years agoStamping upgrade script for lost xact_finish opt.
Dan Wells [Tue, 13 Nov 2012 20:51:38 +0000 (15:51 -0500)]
Stamping upgrade script for lost xact_finish opt.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Conflicts:
Open-ILS/src/sql/Pg/002.schema.config.sql

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 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 <jason@sigio.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
13 years agoDon't break TPAC with email address usernames
Dan Scott [Sun, 11 Nov 2012 21:41:23 +0000 (16:41 -0500)]
Don't break TPAC with email address usernames

"next if..." is not valid if you're not inside a loop. Sheesh.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoMerge branch 'rel_2_3_mergery' into rel_2_3_mergery_tpac
Dan Scott [Sun, 11 Nov 2012 11:52:15 +0000 (06:52 -0500)]
Merge branch 'rel_2_3_mergery' into rel_2_3_mergery_tpac

13 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 <jason@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
13 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 <berick@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
13 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 <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
13 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 <berick@esilibrary.com>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 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 <dscott@laurentian.ca>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
13 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:

Login:
open-ils.auth.authenticate.verify
open-ils.auth.authenticate.complete
open-ils.auth_proxy.login

User updates:
open-ils.actor.user.password
open-ils.actor.user.username
open-ils.actor.user.email
open-ils.actor.patron.update
open-ils.cstore.direct.actor.user.create
open-ils.cstore.direct.actor.user.update
open-ils.cstore.direct.actor.user.delete

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoSet a date/time format that includes the actual time
Dan Scott [Thu, 8 Nov 2012 17:06:31 +0000 (12:06 -0500)]
Set a date/time format that includes the actual time

Sites can override this at their individual skin level if preferred, but
as we have a number of rules at the hourly level, showing the time
generally makes sense.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoTPAC: The 659 field is full of garbage in Conifer
Dan Scott [Wed, 7 Nov 2012 20:15:12 +0000 (15:15 -0500)]
TPAC: The 659 field is full of garbage in Conifer

Thus, prevent it from displaying. (Not sure why Evergreen treats it as a
Genre field by default, as it is reserved for local use per normal MARC
definitions...)

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 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 <dscott@laurentian.ca>
Conflicts:
Open-ILS/src/templates/opac/parts/record/contents.tt2

13 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 <dscott@laurentian.ca>
Conflicts:
Open-ILS/src/templates/opac/parts/record/contents.tt2

13 years agoTPAC: Display alternate and abbreviated titles
Dan Scott [Thu, 25 Oct 2012 18:36:33 +0000 (14:36 -0400)]
TPAC: Display alternate and abbreviated titles

In many cases, alternate titles (defined by the MARC 246 field) and
abbreviated titles (defined by the 210 field) are valuable data points
to display to users. So, display them. Turning this off is a matter of
overriding summary.tt2 to remove the titles.tt2 include.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoTPAC: Display alternate and abbreviated titles
Dan Scott [Thu, 25 Oct 2012 18:36:33 +0000 (14:36 -0400)]
TPAC: Display alternate and abbreviated titles

In many cases, alternate titles (defined by the MARC 246 field) and
abbreviated titles (defined by the 210 field) are valuable data points
to display to users. So, display them. Turning this off is a matter of
overriding summary.tt2 to remove the titles.tt2 include.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 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 <tsbere@mvlc.org>
13 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 <tsbere@mvlc.org>
13 years agoPrevent colons from breaking lines in fr-CA
Dan Scott [Tue, 23 Oct 2012 16:09:11 +0000 (12:09 -0400)]
Prevent colons from breaking lines in fr-CA

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 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 <dscott@laurentian.ca>
13 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 <dscott@laurentian.ca>
13 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 <dscott@laurentian.ca>
13 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 <dscott@laurentian.ca>
13 years agoMore LU string customizations
Dan Scott [Tue, 23 Oct 2012 15:33:49 +0000 (11:33 -0400)]
More LU string customizations

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoTPAC: Updated PO files
Dan Scott [Tue, 23 Oct 2012 15:24:58 +0000 (11:24 -0400)]
TPAC: Updated PO files

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoAlways hide content tab in Conifer
Dan Scott [Tue, 23 Oct 2012 14:40:04 +0000 (10:40 -0400)]
Always hide content tab in Conifer

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoAlways hide content tab in Conifer
Dan Scott [Tue, 23 Oct 2012 14:40:04 +0000 (10:40 -0400)]
Always hide content tab in Conifer

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoConifer: display 500s right in the main record body
Dan Scott [Tue, 23 Oct 2012 14:28:34 +0000 (10:28 -0400)]
Conifer: display 500s right in the main record body

Rather than forcing users (and search engines) to open a twisty, just
display the 500 fields right in the main record body.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoConifer: display 500s right in the main record body
Dan Scott [Tue, 23 Oct 2012 14:28:34 +0000 (10:28 -0400)]
Conifer: display 500s right in the main record body

Rather than forcing users (and search engines) to open a twisty, just
display the 500 fields right in the main record body.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 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 <dscott@laurentian.ca>
13 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 <dscott@laurentian.ca>
13 years agoRecalls - cleanse the incoming due date to ISO8601
Dan Scott [Thu, 11 Oct 2012 22:29:28 +0000 (18:29 -0400)]
Recalls - cleanse the incoming due date to ISO8601

Gotta have that missing "T" or else you're going to suffer. And suffer.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoRecalls - cleanse the incoming due date to ISO8601
Dan Scott [Thu, 11 Oct 2012 22:29:28 +0000 (18:29 -0400)]
Recalls - cleanse the incoming due date to ISO8601

Gotta have that missing "T" or else you're going to suffer. And suffer.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 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 <dscott@laurentian.ca>
13 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 <dscott@laurentian.ca>
13 years agoTPAC: Avoid the "place holds on available" lists hole
Dan Scott [Tue, 9 Oct 2012 17:14:17 +0000 (13:14 -0400)]
TPAC: Avoid the "place holds on available" lists hole

... by ripping out the option entirely, naturally.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoCheckout: further validation of due date override
Dan Scott [Mon, 8 Oct 2012 19:08:47 +0000 (15:08 -0400)]
Checkout: further validation of due date override

The check_past() function failed if given a date that was not strictly
in YYYY-mm-dd format; interestingly, a common transposition typo such
as "0212-10-20" results in "212-10-20" getting passed to check_past(),
and therefore generating an invalid date. Throw an exception in
check_past() rather than returning true, because we are not in fact
stating that the due date is in the past - and catch the exception and
flag the due date override box accordingly in the checkout screen.

We could bubble the exception up to the user, but hopefully highlighting
the checkout box as being in an invalid state will catch the attention
of the users.

Signed-off-by: Dan Scott <dan@coffeecode.net>
13 years agoTPAC: Invalid due dates cause 500 server error
Dan Scott [Mon, 8 Oct 2012 15:25:41 +0000 (11:25 -0400)]
TPAC: Invalid due dates cause 500 server error

CStore appears to return dates with leading 0s (such as '0212-10-08
23:59:59-05:17:32') with the leading 0s stripped off, resulting in
cases with 1-digit or 3-digit years for which DateTime::Format::ISO8601
returns an error.

We can protect against this problem by adding some defensive code to the
TPAC utility method to add the 0s back to the start of the year. We can
also log the problem when it occurs so that administrators can fix the
problem dates in the database.

Signed-off-by: Dan Scott <dan@coffeecode.net>
13 years agoCheckout: further validation of due date override
Dan Scott [Mon, 8 Oct 2012 19:08:47 +0000 (15:08 -0400)]
Checkout: further validation of due date override

The check_past() function failed if given a date that was not strictly
in YYYY-mm-dd format; interestingly, a common transposition typo such
as "0212-10-20" results in "212-10-20" getting passed to check_past(),
and therefore generating an invalid date. Throw an exception in
check_past() rather than returning true, because we are not in fact
stating that the due date is in the past - and catch the exception and
flag the due date override box accordingly in the checkout screen.

We could bubble the exception up to the user, but hopefully highlighting
the checkout box as being in an invalid state will catch the attention
of the users.

Signed-off-by: Dan Scott <dan@coffeecode.net>
13 years agoTPAC: Invalid due dates cause 500 server error
Dan Scott [Mon, 8 Oct 2012 15:25:41 +0000 (11:25 -0400)]
TPAC: Invalid due dates cause 500 server error

CStore appears to return dates with leading 0s (such as '0212-10-08
23:59:59-05:17:32') with the leading 0s stripped off, resulting in
cases with 1-digit or 3-digit years for which DateTime::Format::ISO8601
returns an error.

We can protect against this problem by adding some defensive code to the
TPAC utility method to add the 0s back to the start of the year. We can
also log the problem when it occurs so that administrators can fix the
problem dates in the database.

Signed-off-by: Dan Scott <dan@coffeecode.net>
13 years agoMerge branch 'rel_2_3_mergery' into rel_2_3_mergery_tpac
Dan Scott [Wed, 3 Oct 2012 19:43:26 +0000 (15:43 -0400)]
Merge branch 'rel_2_3_mergery' into rel_2_3_mergery_tpac

13 years agoMake scrollOnFocus default to false for dojo-based/conify interfaces
Lebbeous Fogle-Weekley [Fri, 28 Sep 2012 19:26:06 +0000 (15:26 -0400)]
Make scrollOnFocus default to false for dojo-based/conify interfaces

This change is intended to prevent a phenomenon in certain user
interfaces wherein clicking on a button or other widget can cause a
user's screen to suddenly jump and the user to need to click the widget
a second time before the desired function actually happens.

Dijits that have the scrollOnFocus property are the ones that tend to
exhibit this issue, especially, but not always, within the staff client
when the user's xulrunner window is not maximized.

There may be cases of interfaces actually relying on scrollOnFocus to do
something, but I think those cases should be so rare that this is still
worth doing, and exceptions can be applied there as needed.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
13 years agoCan't use README for version, so use configure.ac
Thomas Berezansky [Tue, 19 Jun 2012 16:23:09 +0000 (12:23 -0400)]
Can't use README for version, so use configure.ac

Because one good "this works for now" being broken can be replaced with
another one easily.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
13 years agoLP#1020261 Better label for "Host" field in acq.edi_account
Michael Peters [Mon, 1 Oct 2012 18:51:31 +0000 (14:51 -0400)]
LP#1020261 Better label for "Host" field in acq.edi_account

The host field of acq.edi_account is really meant to contain more than just a hostname.
It needs a scheme part, so that the whole contents of the field should be URI-ish, like

ftp://ftp1.somevendor.com

Otherwise Evergreen's EDI mechanism can guess wrongly that we want to use
SSH instead of FTP to connect.

This also adds a description for the field, in the footer, along with the other
"helpers".

Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
13 years agoAdd two fields to the new FlattenerGrid-based hold pull list
Lebbeous Fogle-Weekley [Wed, 27 Jun 2012 22:38:19 +0000 (18:38 -0400)]
Add two fields to the new FlattenerGrid-based hold pull list

Namely (current) copy status and (number of) potential copies.

I believe this implementation has a negligible impact on the efficiency
of the hold pull list query overall.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
13 years agoTPAC added content lookup uses local server address
Bill Erickson [Mon, 24 Sep 2012 21:12:11 +0000 (17:12 -0400)]
TPAC added content lookup uses local server address

Use the current Apache server's IP address instead of apache->hostname
to determine where to route TPAC added content lookups.  This allows the
server to handle the added content lookup locally instead of having to
route out and back into the cluster.

Continue using apache->hostname as the Host header to ensure the proper
virtualhost is used once the request is received.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
13 years agoAdded content connect timeout
Bill Erickson [Mon, 24 Sep 2012 16:50:47 +0000 (12:50 -0400)]
Added content connect timeout

Make tpac server-side added content lookups exit after a brief timeout
when the apache module is unable to open a connection to its own
top-level hostname (the virtualhost, apache->hostname).

As noted in the code comments, even though we are using Net::Server::NB
(non-blocking), it's only non-blocking in the sense of content
retrieval, not in how it calls connect() under the covers.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
13 years agoCopy Location Order Editor: avoid interface failure with blank area
Lebbeous Fogle-Weekley [Mon, 14 May 2012 18:50:43 +0000 (14:50 -0400)]
Copy Location Order Editor: avoid interface failure with blank area

Symptom is "ll is undefined" at line 65 of previous version of this
file.

Reported by George Duimovich and John Jones.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
13 years agoTPac: Disable "Enter places hold" for staff
Thomas Berezansky [Thu, 20 Sep 2012 19:45:05 +0000 (15:45 -0400)]
TPac: Disable "Enter places hold" for staff

This should prevent barcode scanners from auto-submitting on scan.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
13 years agoSyndetic AC: Add more review sources with comments
Jeff Godin [Wed, 25 Apr 2012 06:59:01 +0000 (02:59 -0400)]
Syndetic AC: Add more review sources with comments

* Add more Syndetic review sources (commented out)
    Add additional Syndetic review sources, commented out
    for performance reasons -- each source represents a distinct
    request from the server to the AC provider, and we currently
    lack a means of configuring which are on/off, short of
    commenting / uncommenting.

* Add comments for Syndetics review sources
* Fix file name for School Library Journal reviews, add New
    York Times reviews.

Signed-off-by: Jeff Godin <jgodin@tadl.org>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
13 years agoFix up config.tt2
Art Rhyno [Tue, 2 Oct 2012 23:54:06 +0000 (19:54 -0400)]
Fix up config.tt2

I don't know how I messed this up but this is the config file that
we want for block options and google analytics.

13 years agoMerge branch 'rel_2_3_mergery' into rel_2_3_mergery_tpac
Dan Scott [Tue, 2 Oct 2012 20:52:03 +0000 (16:52 -0400)]
Merge branch 'rel_2_3_mergery' into rel_2_3_mergery_tpac

13 years agoCheck to see if existing loan date is less than recall date
Art Rhyno [Sat, 22 Sep 2012 04:46:20 +0000 (00:46 -0400)]
Check to see if existing loan date is less than recall date

It seems possible that a recall can be issued that actually extends
the loan period for an item with semester or other generous loan
periods. This adds a check for the current loan period and uses it
if the calculated threshold date is later.

Signed-off-by: Art Rhyno <art632000@yahoo.ca>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoIncrease range of holds blocking and remove material type selector
Art Rhyno [Tue, 2 Oct 2012 20:31:24 +0000 (16:31 -0400)]
Increase range of holds blocking and remove material type selector

This blocks the "place hold" option in lists and also zaps my
tinkering with the "Material Type" selector.

13 years agoOption to hide holds from appearing at all
Art Rhyno [Tue, 2 Oct 2012 04:41:21 +0000 (00:41 -0400)]
Option to hide holds from appearing at all

This may be a stretch for most sites but this suppresses the holds
link.

13 years agoCopy location group searching repairs
Bill Erickson [Fri, 21 Sep 2012 21:10:58 +0000 (17:10 -0400)]
Copy location group searching repairs

In the get_library BLOCK, upgrade any use of 'loc' to 'locg' instead of
trying to determine which to use in which situation.  Before this change,
'loc' was being used as the loc_name for the main org unit selector,
which should always use 'locg'.  For any other cases (related to search
params), it's always safe to use 'locg' over 'loc'.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoMove the moveto to the new moveto template place
Dan Scott [Mon, 1 Oct 2012 17:54:34 +0000 (13:54 -0400)]
Move the moveto to the new moveto template place

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoAdd "Move to storage" quick UI for bulk location moves
Dan Scott [Mon, 30 May 2011 19:23:09 +0000 (15:23 -0400)]
Add "Move to storage" quick UI for bulk location moves

This simplistic interface accepts a barcode and immediately returns
some bibliographic information if the barcode was found - and the
item is moved immediately to the specified location. Goal was to
minimize clicking, this pretty much requires just scan scan scan.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoStyle the image, not the link, for SJCG
Dan Scott [Wed, 26 Sep 2012 17:56:34 +0000 (13:56 -0400)]
Style the image, not the link, for SJCG

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoRemove links to the old catalogue for NOSM
Dan Scott [Wed, 26 Sep 2012 17:45:57 +0000 (13:45 -0400)]
Remove links to the old catalogue for NOSM

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoNo more linking to the old catalogue for SJCG
Dan Scott [Wed, 26 Sep 2012 17:44:56 +0000 (13:44 -0400)]
No more linking to the old catalogue for SJCG

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoTurn on "Show more details" by default for HRSRH
Dan Scott [Wed, 26 Sep 2012 16:16:23 +0000 (12:16 -0400)]
Turn on "Show more details" by default for HRSRH

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoTurn on "Show more details" by default for SJCG
Dan Scott [Wed, 26 Sep 2012 16:16:23 +0000 (12:16 -0400)]
Turn on "Show more details" by default for SJCG

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoAdd some padding to the topnav logo for SJCG
Dan Scott [Wed, 26 Sep 2012 17:19:01 +0000 (13:19 -0400)]
Add some padding to the topnav logo for SJCG

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoTurn on "Show more details" by default for NOSM
Dan Scott [Wed, 26 Sep 2012 16:16:23 +0000 (12:16 -0400)]
Turn on "Show more details" by default for NOSM

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoFix OSUL links that were broken by the new Web site
Dan Scott [Tue, 25 Sep 2012 17:25:26 +0000 (13:25 -0400)]
Fix OSUL links that were broken by the new Web site

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoMEDIACEN doesn't charge anything on AV-EQUIP items
Dan Scott [Mon, 24 Sep 2012 18:03:18 +0000 (14:03 -0400)]
MEDIACEN doesn't charge anything on AV-EQUIP items

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoAdd 3-day loan rule for AV-EQUIP for media centre
Dan Scott [Mon, 24 Sep 2012 14:36:28 +0000 (10:36 -0400)]
Add 3-day loan rule for AV-EQUIP for media centre

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoTPAC: Escape single quotes in MFHD record location
Dan Scott [Thu, 6 Sep 2012 16:25:01 +0000 (12:25 -0400)]
TPAC: Escape single quotes in MFHD record location

If an MFHD record contains an 852 field with a subfield containing a
single quote, the unescaped single quote is introduced directly into the
value of the JavaScript hash that uses single quotes as delimiters -
thereby generating a JS exception and preventing the staff client from
properly populating the MFHD Editor menu.

This commit escapes incoming single quotes from the MFHD location field
to prevent that from happening. The other fields in the JS hash are
numeric and therefore should not need escaping.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
13 years agoTPAC: Escape single quotes in MFHD record location
Dan Scott [Thu, 6 Sep 2012 16:25:01 +0000 (12:25 -0400)]
TPAC: Escape single quotes in MFHD record location

If an MFHD record contains an 852 field with a subfield containing a
single quote, the unescaped single quote is introduced directly into the
value of the JavaScript hash that uses single quotes as delimiters -
thereby generating a JS exception and preventing the staff client from
properly populating the MFHD Editor menu.

This commit escapes incoming single quotes from the MFHD location field
to prevent that from happening. The other fields in the JS hash are
numeric and therefore should not need escaping.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
13 years agoMerge branch 'user/dbs/rel_2_3_mergery' of git.evergreen-ils.org:contrib/Conifer...
Dan Scott [Wed, 12 Sep 2012 17:08:00 +0000 (13:08 -0400)]
Merge branch 'user/dbs/rel_2_3_mergery' of git.evergreen-ils.org:contrib/Conifer into rel_2_3_mergery_tpac

13 years agoBring more full pubinfo over to Conifer
Dan Scott [Wed, 12 Sep 2012 17:07:23 +0000 (13:07 -0400)]
Bring more full pubinfo over to Conifer

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoBring changes from full pubinfo branch to Conifer
Dan Scott [Wed, 12 Sep 2012 17:02:28 +0000 (13:02 -0400)]
Bring changes from full pubinfo branch to Conifer

Signed-off-by: Dan Scott <dscott@laurentian.ca>
13 years agoTPAC: Results - don't show the pubdate if we're showing full pubinfo
Dan Scott [Wed, 12 Sep 2012 16:59:53 +0000 (12:59 -0400)]
TPAC: Results - don't show the pubdate if we're showing full pubinfo

In the "show few details" mode, we show just the pubdate; in the "show
full details" mode, we're showing the full pubinfo and therefore do not
need to show the stubby pubdate.

Signed-off-by: Dan Scott <dscott@laurentian.ca>