working/Evergreen.git
11 years agoLP#1053397 copy seed data from upgrade to main file collab/berick/lp1053397-tpac-metarecords-plus-composite-r2
Bill Erickson [Fri, 7 Feb 2014 21:45:17 +0000 (16:45 -0500)]
LP#1053397 copy seed data from upgrade to main file

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoLP#1053397 TPAC metarecord release notes
Bill Erickson [Fri, 7 Feb 2014 20:37:42 +0000 (15:37 -0500)]
LP#1053397 TPAC metarecord release notes

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agocomposite attrs: remove item_form=i/z from book
Bill Erickson [Fri, 7 Feb 2014 18:22:38 +0000 (13:22 -0500)]
composite attrs: remove item_form=i/z from book

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agocomposite attrs: remove item_form=h from book
Bill Erickson [Fri, 7 Feb 2014 18:17:42 +0000 (13:17 -0500)]
composite attrs: remove item_form=h from book

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agocomposite attrs: remove item_form=g from book
Bill Erickson [Fri, 7 Feb 2014 18:14:29 +0000 (13:14 -0500)]
composite attrs: remove item_form=g from book

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agocomposite attrs: remove item_form=g from book
Bill Erickson [Fri, 7 Feb 2014 18:13:40 +0000 (13:13 -0500)]
composite attrs: remove item_form=g from book

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoLP#1053397 ranked_vols/located_uris need defining before use in upgrade
Bill Erickson [Fri, 7 Feb 2014 17:49:07 +0000 (12:49 -0500)]
LP#1053397 ranked_vols/located_uris need defining before use in upgrade

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoLP#1053397 tpac show icons for all selected MR formats in patron holds list
Bill Erickson [Fri, 7 Feb 2014 16:09:01 +0000 (11:09 -0500)]
LP#1053397 tpac show icons for all selected MR formats in patron holds list

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoLP#1053397 tpac support disabling MR search/holds
Bill Erickson [Fri, 7 Feb 2014 15:31:44 +0000 (10:31 -0500)]
LP#1053397 tpac support disabling MR search/holds

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoLP#1053397 tpac gets advanced hold options link from T hold if MR available
Bill Erickson [Fri, 7 Feb 2014 15:24:08 +0000 (10:24 -0500)]
LP#1053397 tpac gets advanced hold options link from T hold if MR available

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoUse the proper holdings_xml method for both the special case and embedded holdings
Mike Rylander [Thu, 6 Feb 2014 22:32:42 +0000 (17:32 -0500)]
Use the proper holdings_xml method for both the special case and embedded holdings

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agouse UnAPI rank in baseline as well as upgrade
Mike Rylander [Thu, 6 Feb 2014 19:49:06 +0000 (14:49 -0500)]
use UnAPI rank in baseline as well as upgrade

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoLP#1053397 tpac single-rec MR jumps to detail page
Bill Erickson [Thu, 6 Feb 2014 19:47:44 +0000 (14:47 -0500)]
LP#1053397 tpac single-rec MR jumps to detail page

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoTPAC generates format selector from icon_format attr
Bill Erickson [Thu, 6 Feb 2014 18:31:18 +0000 (13:31 -0500)]
TPAC generates format selector from icon_format attr

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agotpac repair library_name_link thinko
Bill Erickson [Thu, 6 Feb 2014 18:21:31 +0000 (13:21 -0500)]
tpac repair library_name_link thinko

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoLP#1053397 TPAC show all MR formats in results list
Bill Erickson [Thu, 6 Feb 2014 18:14:45 +0000 (13:14 -0500)]
LP#1053397 TPAC show all MR formats in results list

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoLP#1053397 unapi.mra() param name consistency repair
Bill Erickson [Thu, 6 Feb 2014 17:39:56 +0000 (12:39 -0500)]
LP#1053397 unapi.mra() param name consistency repair

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoLP#1053397 MR holds seed data
Bill Erickson [Thu, 6 Feb 2014 16:32:43 +0000 (11:32 -0500)]
LP#1053397 MR holds seed data

* move seed data to separate file
* use subset of icon_format coded values for MR hold format

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoGrab uncontrolled attributes as well as controlled for mmr_mra
Mike Rylander [Thu, 6 Feb 2014 15:40:51 +0000 (10:40 -0500)]
Grab uncontrolled attributes as well as controlled for mmr_mra

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agounapi.mmr thinko repair
Bill Erickson [Thu, 6 Feb 2014 14:54:16 +0000 (09:54 -0500)]
unapi.mmr thinko repair

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agodefaulting to icon_format attr for testing
Bill Erickson [Thu, 6 Feb 2014 14:29:28 +0000 (09:29 -0500)]
defaulting to icon_format attr for testing

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoUpgrade updates
Mike Rylander [Wed, 5 Feb 2014 22:54:23 +0000 (17:54 -0500)]
Upgrade updates

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoSupport functions for unAPI metarecord support
Mike Rylander [Wed, 5 Feb 2014 22:54:12 +0000 (17:54 -0500)]
Support functions for unAPI metarecord support

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoFix metarecord copy counting
Mike Rylander [Wed, 5 Feb 2014 22:53:47 +0000 (17:53 -0500)]
Fix metarecord copy counting

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoLP#1053397 MR TPAC filters; editing
Bill Erickson [Tue, 4 Feb 2014 18:32:00 +0000 (13:32 -0500)]
LP#1053397 MR TPAC filters; editing

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoLP#1053397 MR TPAC filters; editing
Bill Erickson [Mon, 3 Feb 2014 22:52:18 +0000 (17:52 -0500)]
LP#1053397 MR TPAC filters; editing

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoRevert "Eliminate an annoying and useless warning in the JavaScript Console."
Ben Shum [Fri, 31 Jan 2014 20:45:08 +0000 (15:45 -0500)]
Revert "Eliminate an annoying and useless warning in the JavaScript Console."

This reverts commit bb4a797010201d6f26156c9e921d78690f265e35.

My fault for picking this in without more testing. This broke things like noted
in LP1275074.

11 years agoLP#1053397 MR holds; more formats / lang display bits
Bill Erickson [Fri, 31 Jan 2014 22:01:50 +0000 (17:01 -0500)]
LP#1053397 MR holds; more formats / lang display bits

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoLP#1053397 MR formats record attr seed data
Bill Erickson [Fri, 31 Jan 2014 20:56:58 +0000 (15:56 -0500)]
LP#1053397 MR formats record attr seed data

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoremove old, dupe unapi-mmr upgrade to avoid confusion
Bill Erickson [Fri, 31 Jan 2014 20:25:56 +0000 (15:25 -0500)]
remove old, dupe unapi-mmr upgrade to avoid confusion

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoNew constituent record filtering method for hold targeting, also exposed to the world...
Mike Rylander [Fri, 31 Jan 2014 17:33:33 +0000 (12:33 -0500)]
New constituent record filtering method for hold targeting, also exposed to the world through open-ils.circ.holds

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoConvert the holdable_formats field on unfilled MR holds to the new style
Mike Rylander [Thu, 30 Jan 2014 19:23:13 +0000 (14:23 -0500)]
Convert the holdable_formats field on unfilled MR holds to the new style

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoWe must return null instead of an empty string, which is not a valid query_int
Mike Rylander [Thu, 30 Jan 2014 19:22:32 +0000 (14:22 -0500)]
We must return null instead of an empty string, which is not a valid query_int

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoWe need to actually decode the json...
Mike Rylander [Thu, 30 Jan 2014 18:06:33 +0000 (13:06 -0500)]
We need to actually decode the json...

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoSupporting SQL changes
Mike Rylander [Thu, 30 Jan 2014 17:25:39 +0000 (12:25 -0500)]
Supporting SQL changes

Supply MR-friendly versions of ranked_volumes() and located_uris()
Split composite attribute compiler into a standalone complier and config-id wrapper for reuse by the hold targeter

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoLP#1053397 collectin MR hold filter bits into API calls
Bill Erickson [Fri, 31 Jan 2014 20:23:32 +0000 (15:23 -0500)]
LP#1053397 collectin MR hold filter bits into API calls

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoLP#1053397 MR search, results display, and holds
Bill Erickson [Mon, 20 Jan 2014 20:54:35 +0000 (15:54 -0500)]
LP#1053397 MR search, results display, and holds

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoLP#1053397 global flag for MR holds format attr
Bill Erickson [Wed, 29 Jan 2014 22:41:48 +0000 (17:41 -0500)]
LP#1053397 global flag for MR holds format attr

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoLP#1053397 metabib.record_attr_flat IDL class
Bill Erickson [Wed, 29 Jan 2014 22:41:22 +0000 (17:41 -0500)]
LP#1053397 metabib.record_attr_flat IDL class

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoLP#1053397 initial unapi.mmr() support
Bill Erickson [Fri, 17 Jan 2014 19:36:36 +0000 (14:36 -0500)]
LP#1053397 initial unapi.mmr() support

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agocomposite attrs: ccvm stock ID space now handled earlier
Bill Erickson [Wed, 5 Feb 2014 21:47:17 +0000 (16:47 -0500)]
composite attrs: ccvm stock ID space now handled earlier

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agocomposite attrs: carve out stock ccvm ID space
Bill Erickson [Wed, 5 Feb 2014 21:46:48 +0000 (16:46 -0500)]
composite attrs: carve out stock ccvm ID space

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agocomposite attributes: configurable "icons" attribute
Bill Erickson [Wed, 5 Feb 2014 21:18:38 +0000 (16:18 -0500)]
composite attributes: configurable "icons" attribute

Honor the configurable icon attribute within the TPAC.

Create a default set of icons, by copying from the existing icons,
which roughly map to the new "icon_format" record attribute
definition mappings.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoComposite attributes: icon formats seed data
Bill Erickson [Tue, 4 Feb 2014 21:43:50 +0000 (16:43 -0500)]
Composite attributes: icon formats seed data

Initial collection of expanded and improved format specifiers for (at
minimum / for starters) linking bib records to a more diverse
collection of format icons in the catalog.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoLP#1269911 composite attributes admin UI user/berick/composite-record-attributes
Bill Erickson [Tue, 21 Jan 2014 22:47:41 +0000 (17:47 -0500)]
LP#1269911 composite attributes admin UI

New interface for managing composite record attribute definitions:

/eg/conify/global/config/composite_attr_entry_definition/<id>

The UI for a coded value map is accessed from an existing coded value
via a new "Manage" link column in the CCVM table.  The UI allows staff
to build tree-shaped boolean composite definitions for CCVMs in terms
of existing CCVMs.

Additionally, the record attribute definition UI now has a link from
each definition to the coded value map page for the attribute.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
11 years agoTeach unapi about composite attributes
Mike Rylander [Wed, 22 Jan 2014 14:46:44 +0000 (09:46 -0500)]
Teach unapi about composite attributes

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoNeed to protect against null values for sorters
Mike Rylander [Tue, 21 Jan 2014 18:29:43 +0000 (13:29 -0500)]
Need to protect against null values for sorters

Signed-off-by: Mike Rylander <miker@esilibrary.com>
11 years agoProvisional upgrade script for composite attributes
Mike Rylander [Tue, 21 Jan 2014 17:52:34 +0000 (12:52 -0500)]
Provisional upgrade script for composite attributes

Various baseline fixes including syntax repairs, use of
JSON::XS for debian squeez support, correction of plperlu
SPI usage.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoInform the IDL and confiy of composite attributes
Mike Rylander [Tue, 21 Jan 2014 16:24:52 +0000 (11:24 -0500)]
Inform the IDL and confiy of composite attributes

IDL link from ccvm => ccraed via composite_def field

IDL selector attribute for ccvm class

ccraed gets CUD actions

In conify/global/config/coded_value_map, if the selected attr type is
composite=true, show a link from each coded value to manage the
composite definition.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoSchema elements and ingest logic for composite attributes
Mike Rylander [Mon, 20 Jan 2014 22:24:10 +0000 (17:24 -0500)]
Schema elements and ingest logic for composite attributes

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoTeach unapi about multi-valued attributes user/miker/multi-value-record-attrs-rebased
Mike Rylander [Wed, 22 Jan 2014 14:44:28 +0000 (09:44 -0500)]
Teach unapi about multi-valued attributes

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoNeed to distinguish between controlled and uncontrolled attributes when finding value IDs
Mike Rylander [Fri, 17 Jan 2014 23:55:26 +0000 (18:55 -0500)]
Need to distinguish between controlled and uncontrolled attributes when finding value IDs

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoFix constructed method call syntax and a logic inversion
Mike Rylander [Fri, 17 Jan 2014 22:32:01 +0000 (17:32 -0500)]
Fix constructed method call syntax and a logic inversion

Signed-off-by: Mike Rylander <miker@esilibrary.com>
11 years agoPerferred language query fix
Mike Rylander [Fri, 17 Jan 2014 22:09:00 +0000 (17:09 -0500)]
Perferred language query fix

Signed-off-by: Mike Rylander <miker@esilibrary.com>
11 years agoMake extra sure there is no empty data
Mike Rylander [Fri, 17 Jan 2014 21:16:23 +0000 (16:16 -0500)]
Make extra sure there is no empty data

Signed-off-by: Mike Rylander <miker@esilibrary.com>
11 years agoSchema bug fixes from testing
Mike Rylander [Thu, 16 Jan 2014 22:32:01 +0000 (17:32 -0500)]
Schema bug fixes from testing

Signed-off-by: Mike Rylander <miker@esilibrary.com>
11 years agoTeach the upgrade script to convert old data
Mike Rylander [Wed, 15 Jan 2014 22:22:27 +0000 (17:22 -0500)]
Teach the upgrade script to convert old data

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoProvisional upgrade script for MVF
Mike Rylander [Wed, 15 Jan 2014 21:48:13 +0000 (16:48 -0500)]
Provisional upgrade script for MVF

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoAlways replace sorter values
Mike Rylander [Wed, 15 Jan 2014 21:47:47 +0000 (16:47 -0500)]
Always replace sorter values

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoAdd a useful index
Mike Rylander [Wed, 15 Jan 2014 21:01:36 +0000 (16:01 -0500)]
Add a useful index

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoTeach QueryParser new tricks
Mike Rylander [Wed, 15 Jan 2014 21:00:52 +0000 (16:00 -0500)]
Teach QueryParser new tricks

QP Needs to be made aware of several new structures in the database.

First, we have added a new sort-supporting table called metabib.record_sorter
which holds values extracted by crad.sorter=true attrs.  This is used instead
of the mrd.attrs->"something" hstore composite.

Next, we teach QP how to convert from a list of user-supplied values across
many dynamic filters (based on crad) into an intarray query of ids extracted
from config.coded_value_map (in the case of controlled attributes) or
metabib.uncontrolled_record_attr_value (in the case of, you guessed it,
uncontrolled attributes).  This query is applied against the vlist column
of metabib.record_attr_vector_list, which is GIN indexed for speed.

Finally, metabib.record_attr is now a view over metabib.record_attr_vector_list
and is consequently going to be slow for general use.  We restrict
its inclusion in the core query to only the case of a during() filter
which requires access to the value of a bib's Date2 field.  For the
other common case, requiring access to the Date1 field, we instead
use the pubdate sort value now stored in metabib.record_sorter.  We
might consider making the specific sorter attribute used configurable
so that we can change the definition of pubdate down the road, but it
starts out (and generally stays) defined as equivalent to Date1.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoTeach the IDL about MVF-related structures
Mike Rylander [Wed, 15 Jan 2014 18:17:39 +0000 (13:17 -0500)]
Teach the IDL about MVF-related structures

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoNew intarray-focused attribute extraction
Mike Rylander [Wed, 15 Jan 2014 17:07:59 +0000 (12:07 -0500)]
New intarray-focused attribute extraction

We rewrite the record attribute extraction to capture all the
record-supplied values for each attribute (where multi is true)
and store that list in the new (fkey-corrected) metabib.record_attr_vector_list
table.  Only filters make it into this table.

We also insert a parameter after the record id to accept a list of
record attributes we want to rewrite. This defaults to NULL to rewrite
all of them.

Sorters are stored in a new, separate table built specifically for them.

metabib.record_attr becomes a vew atop metabib.record_attr_vector_list
which expands the intarray stored therein into an hstore. For
multi=true attributes, only one will be returned through this view,
as is HSTORE's way, and which will be returned is undefined.  However
this view is only provided for the purpose of backward compat with
reports or other locally defined logic.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoMove current record attr logic into its own function
Mike Rylander [Tue, 14 Jan 2014 22:26:41 +0000 (17:26 -0500)]
Move current record attr logic into its own function

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoAdd a multi flag for record attrs
Mike Rylander [Tue, 14 Jan 2014 21:58:33 +0000 (16:58 -0500)]
Add a multi flag for record attrs

We pre-coordinate which record attrs are allowed to be multi-valued
with this new bool.  Most can be, we set the default to true and
adjust the seed data for those that should be false (sorters and
fields in the leader).

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoHidy hole in which to stick "uncontrolled" values
Mike Rylander [Tue, 14 Jan 2014 21:36:51 +0000 (16:36 -0500)]
Hidy hole in which to stick "uncontrolled" values

In order to make use of the massive speed increases provided by
intarray indexing, we need to use (you guessed it) integers.  But
uncontrolled record attributes are not necessarily (or even very
often) numbers.  We will store them in a table of unique (per
attribute) values, and use the id from that table in our intarray
indexing.  That id comes from a DECREMENTING serial that starts
at -1 and counts downward.  This avoids collision with the other
set of integers (the id from config.coded_value_map) that we will
use for controlled record attribute values.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoAdd intarray extension
Mike Rylander [Tue, 14 Jan 2014 21:30:17 +0000 (16:30 -0500)]
Add intarray extension

We need intarray for GIN index support of integer arrays, which is
how we'll be storing the in-use record attribute value identifiers.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoTeach vandelay.marc21_physical_characteristics() to see all 007's
Mike Rylander [Tue, 14 Jan 2014 21:28:04 +0000 (16:28 -0500)]
Teach vandelay.marc21_physical_characteristics() to see all 007's

We use vandelay.marc21_physical_characteristics() to extract fixed
field data that lives in the 007.  Before this change, it would
only look at the first 007 in the record.  Now it will look at
all of them in turn, supporting configurations such as DVD+BluRay.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
11 years agoInclude RFID docs with full path
Dan Scott [Mon, 27 Jan 2014 15:50:31 +0000 (10:50 -0500)]
Include RFID docs with full path

Ben Shum noticed that the RFID docs weren't showing up in the documentation; we
need to include the full relative path to the RFID docs.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoFix copy_info variables for result and record view
Ben Shum [Sat, 25 Jan 2014 04:56:45 +0000 (23:56 -0500)]
Fix copy_info variables for result and record view

Because we yanked out the code that generates the link into a separate INCLUDE
file, the function was looking for something for copy_info. The one for result
was missing entirely and the one for record was backwards.

Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
11 years agoKPAC library page: give the kids some style
Dan Scott [Thu, 23 Jan 2014 18:51:30 +0000 (13:51 -0500)]
KPAC library page: give the kids some style

Just the bare minimum: some padding around the body, and a font colour and size
that's reasonably consistent with the rest of the look of the KPAC for h2 and
h3 elements.

Yes, I know there is text-transform:uppercase and h2 is sized at 48px but that
seems to be used for "You saved it!" and "Get it!" banner things. On the
library info page, we're using headings for headings.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoClean up the breadcrumb trail in the KPAC
Dan Scott [Thu, 23 Jan 2014 17:10:50 +0000 (12:10 -0500)]
Clean up the breadcrumb trail in the KPAC

Links to the library pages don't maintain GET context, so we can't feed search
or "Get It" links in the breadcrumb trail, currently. We can revisit this,
of course.

Wasn't there some fairy tale about kids and a breadcrumb trail... once upon a
time?

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoKPAC root, OPAC root: we all live under one root
Dan Scott [Thu, 23 Jan 2014 17:05:20 +0000 (12:05 -0500)]
KPAC root, OPAC root: we all live under one root

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoBegin enabling KPAC-branded library info page
Dan Scott [Thu, 23 Jan 2014 16:41:52 +0000 (11:41 -0500)]
Begin enabling KPAC-branded library info page

This needs work and is going to get squashed like a bug when we're through.

Yeesh.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoKPAC: Won't somebody think of the children's record details?
Dan Scott [Thu, 23 Jan 2014 14:10:59 +0000 (09:10 -0500)]
KPAC: Won't somebody think of the children's record details?

Factor out the library name link logic into a separate template that can be
included by TPAC search results, TPAC record details, and KPAC record details.

Notice along the way that the KPAC is devoid of copy-level structured data,
but save that for later.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoTPAC: Link library in results page to library page
Dan Scott [Wed, 22 Jan 2014 15:12:37 +0000 (10:12 -0500)]
TPAC: Link library in results page to library page

Dan Wells noticed that the links on results pages went to a different location
(potentially, depending on the "prefer external library uri" OUS) than the
links on record pages. Make things consistent.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoForward port 2.5.2 upgrade script
Dan Wells [Thu, 23 Jan 2014 15:04:01 +0000 (10:04 -0500)]
Forward port 2.5.2 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
11 years agoTranslation updates - newpot
Dan Wells [Wed, 22 Jan 2014 21:40:36 +0000 (16:40 -0500)]
Translation updates - newpot

Signed-off-by: Dan Wells <dbw2@calvin.edu>
11 years agoTranslation updates - po files
Dan Wells [Wed, 22 Jan 2014 21:24:32 +0000 (16:24 -0500)]
Translation updates - po files

Signed-off-by: Dan Wells <dbw2@calvin.edu>
11 years agoStamping 0854: data.min_max_prices
Jeff Godin [Wed, 22 Jan 2014 14:56:34 +0000 (09:56 -0500)]
Stamping 0854: data.min_max_prices

Stamping 0854 and resolving permission ID conflicts due to drift.

Signed-off-by: Jeff Godin <jgodin@tadl.org>
11 years agoRelease notes for lp1207903: new lost billing min/max setting
Remington Steed [Tue, 24 Sep 2013 20:54:37 +0000 (16:54 -0400)]
Release notes for lp1207903: new lost billing min/max setting

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Jeff Godin <jgodin@tadl.org>
11 years agoAdd new option for max/min lost item pricing
Dan Wells [Fri, 14 Dec 2012 19:02:22 +0000 (14:02 -0500)]
Add new option for max/min lost item pricing

In addition to a 'default' price when price is missing or zero,
we can also accommodate a range of prices by saying it should be
at least 'X' and not more than 'Y'.  This also allows you to
effectively set a fixed price for all lost items by setting min
and max to an equal amount.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Jeff Godin <jgodin@tadl.org>
11 years agoLP#842991 Reports needs to error when deleting fails
Remington Steed [Wed, 27 Nov 2013 14:55:35 +0000 (09:55 -0500)]
LP#842991 Reports needs to error when deleting fails

When attempting to delete a report template, the reports interface
incorrectly shows "Action Succeeded" even when it partly fails. If the
user performing the delete does not own all the dependent reports and
outputs, then the perl function returns 1 to indicate that some were
deleted, but not all. However, the javascript that calls that function
does not check for a return value of 1. This commit adds that check, and
also improves the formatting of the related error messages.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
11 years agoSerials: improve routing slips per Dan Wells' suggestions on LP #1229349
Lebbeous Fogle-Weekley [Mon, 28 Oct 2013 18:28:37 +0000 (14:28 -0400)]
Serials: improve routing slips per Dan Wells' suggestions on LP #1229349

  - Don't repeat the same address for the same user
  - Label mailing vs. billing
  - Border to separate mailing and billing addresses
  - [Also] move some inline styles to a CSS file

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
11 years agoStamping 0853: 'Prefer external URL' OUS
Dan Wells [Tue, 21 Jan 2014 20:07:29 +0000 (15:07 -0500)]
Stamping 0853: 'Prefer external URL' OUS

Signed-off-by: Dan Wells <dbw2@calvin.edu>
11 years agoRelease notes for the TPAC library web pages
Dan Scott [Wed, 15 Jan 2014 03:12:16 +0000 (22:12 -0500)]
Release notes for the TPAC library web pages

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
11 years agoAdd upgrade script for lib.prefer_external_url OUS
Dan Scott [Wed, 15 Jan 2014 02:33:34 +0000 (21:33 -0500)]
Add upgrade script for lib.prefer_external_url OUS

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
11 years agoCopy details link to Evergreen library page by default
Dan Scott [Mon, 6 Jan 2014 19:33:04 +0000 (14:33 -0500)]
Copy details link to Evergreen library page by default

Add a new library setting, 'lib.prefer_external_url', to force library names in
copy details pages to link to their associated 'lib.info_url' setting rather
than the Evergreen-generated page. In the absence of a 'lib.info_url' setting,
the name will fall back to being linked to the Evergreen-generated page.

Per discussion with Ben Shum and Kathy Lussier.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
11 years agoImprove label for library's external web site
Dan Scott [Mon, 6 Jan 2014 18:59:50 +0000 (13:59 -0500)]
Improve label for library's external web site

Normal humans will find "Library web site" more meaningful than "External web
site"; thanks to Kathy Lussier for the suggestion!

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
11 years ago%l instead of %H if we're using AM/PM for default time formats
Dan Scott [Mon, 6 Jan 2014 18:19:17 +0000 (13:19 -0500)]
%l instead of %H if we're using AM/PM for default time formats

Thanks again to the indefatiguable Ben Shum for this catch!

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
11 years agoUse the 'format.time' OUS to format library hours
Dan Scott [Mon, 6 Jan 2014 17:22:28 +0000 (12:22 -0500)]
Use the 'format.time' OUS to format library hours

Sparked by a concern that Ben Shum had over the display of library hours in 24
hour format, I eventually figured out that we could use the Template::Toolkit
Date module to format the times according to library preferences. And given
that we already have a format.time OUS, let's use it.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
11 years agoTPAC Library schema info - add some caching
Dan Scott [Mon, 28 Oct 2013 15:26:55 +0000 (11:26 -0400)]
TPAC Library schema info - add some caching

Rather than hitting the database every time, cache our requests for a
period of time. It's unlikely that hours of operation or addresses are
going to change very often...

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
11 years agoLink from copies to library info page
Dan Scott [Tue, 17 Dec 2013 21:29:35 +0000 (16:29 -0500)]
Link from copies to library info page

In the absence of a specific lib.info_url org unit setting, link to the library
info page.

If we _do_ have a lib.info_url org unit setting, link from the library info
page to to the external web site.

Rather than wrapping everything in the table cell as the seller, focus
on the <a> and give it an explicit Library typeof attribute; then we can
offer up the name of the library as the name attribute, should the
crawler be too lazy to follow the link.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
11 years agoFirst inklings of schema.org support for library pages
Dan Scott [Sat, 26 Oct 2013 21:32:22 +0000 (17:32 -0400)]
First inklings of schema.org support for library pages

Adds a TPAC page where the information for a given library can be publicly
exposed; in addition, that information is marked up with schema.org structured
data so that, for example, a search engine can offer up the hours of operation
and contact information for a given branch right on the search results page.

We give the content-wrapper a main-content for indentation, to be consistent
with other pages in the TPAC.

We also add the cargo-cult common-full-pad div for a bottom margin.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
11 years agoFixed title/author display at checkout for non-pre-cat items.
Steven Callender [Thu, 10 Oct 2013 20:09:06 +0000 (16:09 -0400)]
Fixed title/author display at checkout for non-pre-cat items.

Fixed a display problem on checkout where items that were formely pre-cats
were still displaying the pre-cat data. Now it will make sure the item is
still a pre-cat before using the dummy data.

Signed-off-by: Steven Callender <stevecallender@esilibrary.com>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoLP969312: No warning for Delete All from Catalog in Copy Buckets
Pasi Kallinen [Tue, 28 May 2013 17:18:06 +0000 (20:18 +0300)]
LP969312: No warning for Delete All from Catalog in Copy Buckets

Add a confirmation dialog popup.

Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoTPAC: Display authors using inline-block
Dan Scott [Thu, 16 Jan 2014 03:33:25 +0000 (22:33 -0500)]
TPAC: Display authors using inline-block

Rather than letting author credits wrap willy-nilly, use inline-block mode so
that each line will begin with a new author. Devices with constrained screens
in particular benefit from this, as the list of authors is much easier to scan,
and wider screens can still fit multiple authors on a single line.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoTPAC: Use indexed subfields only in author search links
Dan Scott [Wed, 15 Jan 2014 20:25:02 +0000 (15:25 -0500)]
TPAC: Use indexed subfields only in author search links

Addresses LP# 1267231 in which we found that the titles of works in the added
author field (such as subfield t) were showing up in the link ahead of the
author's birth and death date (if applicable). Now we reserve the link for
only the indexed author subfields (depends on whether the name is personal,
corporate, or conference, but generally subfields a/b/c/d/e/n/q), then the
extra subfields go after the name + dates, then we finally put the relationship
into the parentheses after everything else.

We also simplify the markup so that each name is contained in a single <span
class="rdetail_author_div"> element to make it easier to control the layout.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Ben Shum <bshum@biblio.org>
11 years agoSerials: Batch Receive interface Copy Location widget was inert
Lebbeous Fogle-Weekley [Thu, 14 Nov 2013 20:59:55 +0000 (15:59 -0500)]
Serials: Batch Receive interface Copy Location widget was inert

Choosing a value from the Copy Location widget wasn't working.  You'd
get a default copy location (or the one supplied by the Receive Unit
Copy Template) no matter what you set that control too.

This is fixed.  One does not read from XUL menulist element by using its
'value' property.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
11 years agoLP#882586: In Serial Control View, show copy templates owned by ancestors
Lebbeous Fogle-Weekley [Wed, 15 Jan 2014 22:53:25 +0000 (17:53 -0500)]
LP#882586: In Serial Control View, show copy templates owned by ancestors

When creating/editing distributions, dropdowns for Receive Unit Template
and Bind Unit Template now show copy templates owned not only at the
distribution's holding lib, but at any of the holding lib's ancestors.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>