Dan Scott [Sun, 8 Jan 2012 21:14:29 +0000 (16:14 -0500)]
TPAC: Improve copy display in record summary
In the copy counts, offer a link to display the copies at parent
libraries that have available copies. For example, if you are browsing
at BR1 and there are no available copies, but you see that SYS1 has
available copies, clicking "(Show)" beside the SYS1 available copy count
will change the search scope to SYS1 and display the copies for BR1 and
BR2.
Also, avoid displaying the copy table header if there are no physical
copies to display (for example, if there are located URIs that make the
copy show up in search results).
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Scott [Mon, 9 Jan 2012 02:43:58 +0000 (21:43 -0500)]
Prevent expand and cnoffset params from propagating
The expand and cnoffset params in record summary might result in
unexpected behaviour if allowed to propagate by default, as mkurl()
enables, so stop them in their tracks.
Also, fix an overenthusiastic URI-encoding of subjects that led to a
space getting doubly-encoded (and thereby breaking searches).
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Scott [Fri, 6 Jan 2012 03:51:00 +0000 (22:51 -0500)]
TPAC: Preserve loc, query, qtype, and sort params
In some cases, mkurl() is not enough to preserve our desired CGI params
- such as when redirects are triggered from within a Perl module, or
forms are submitted. Accordingly, the following changes address these
cases where the chosen location / query / query type was being dropped:
* Switching between account preferences
* Creating / deleting / sharing / editing bookbags
* Moving items from temporary list to bookbags
* Adding notes to items in a bookbag
* Placing holds
The primary mechanism for forms is the "preserve_params.tt2" block that
can accept a "params" list of the CGI params that you want to preserve,
but which defaults to location/query/qtype/sort. Similarly, we add the
same preservation steps to the OpenILS::WWW::EGCatLoader::Account module
for most actions.
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Scott [Thu, 29 Dec 2011 05:11:25 +0000 (00:11 -0500)]
TPAC: Propagate CGI params via mkurl()
Fix many instances where params such as "loc" are dropped during a
normal workflow, resulting in unexpected changes to the user's chosen
search scope. mkurl() preserves the existing CGI params by default
and passes them on to the created URL; for now we err on the side of
caution (preserving all params) rather than filtering any out. Manual
testing suggests this does not introduce any problems, and resolves
many.
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Thomas Berezansky [Tue, 17 Jan 2012 16:13:15 +0000 (11:13 -0500)]
Don't show estimated wait for negative estimates
JSPac code was just checking for the truth of the estimated_wait return,
but the estimated_wait return can be -1 under some circumstances.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Tue, 17 Jan 2012 16:53:03 +0000 (11:53 -0500)]
Repaired JS syntax errors in nls/selfcheck.js
Fixed errors introduced by
a727a91b26716a0df36c93c7962240bec231c180
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Thomas Berezansky [Sat, 14 Jan 2012 16:42:55 +0000 (11:42 -0500)]
TPac: Easy access to item status
Change item barcodes into item status links in TPac listings.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Thomas Berezansky [Tue, 20 Sep 2011 14:27:51 +0000 (10:27 -0400)]
Allow choice of placing hold despite age protect
This alters the backend to watch when so much as one copy failed only due
to age protection. If so, a flag is set and returned back up the calling
tree for examination.
In JSPac when the flag is set an alternate confirm message is shown.
In TTPac when the flag is set the failure message is changed and override
is always allowed for the hold in question.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
James Fournie [Fri, 9 Dec 2011 01:00:14 +0000 (17:00 -0800)]
P898427 Get holdings_xml.retrieve to flesh URIs properly
Flesh URIs when requested with the -uris or -full feed type.
This was broken when commit
f2b822f8 fixed authority browsing.
holdings_xml-full never appeared to retrieve URIs properly, so that has
been added.
This also makes holdings_xml-uris behave in the new manner of URIs as per
git commit
ba47ecc61, retrieving URIs for ancestors rather than descendants.
Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Thomas Berezansky [Wed, 11 Jan 2012 19:41:15 +0000 (14:41 -0500)]
Support auto-login in staff client
By adding three new command line parameters:
-ILSuser - Username to log in with
-ILSpassword - Password to use
-ILShost - hostname to use
If, and only if, all three are specified *and* we think we have an already
registered workstation for the hostname do we trigger an auto login.
Otherwise we just fill everything in and wait for the user.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Lebbeous Fogle-Weekley [Wed, 11 Jan 2012 19:53:50 +0000 (14:53 -0500)]
Move csp definitions from 002 to 950, so they can use i18n.
I don't /think/ there's a point in having an upgrade script to go along
with this, but someone who understands oils_18n_gettext() better should
weigh in.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Lebbeous Fogle-Weekley [Wed, 11 Jan 2012 15:37:29 +0000 (10:37 -0500)]
Merge remote branch 'working/collab/berick/invalidate_email_and_phone_revised'
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Wed, 11 Jan 2012 14:32:58 +0000 (09:32 -0500)]
Use org_depth for INVALID penalties
* Honor the org_depth setting on the penalties when applied
* Default to org_depth 0 (i.e. global) penalty application for invalid penalties
* Use the patrons' home_ou as the penalty org unit for patron reg invalidate actions.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Lebbeous Fogle-Weekley [Tue, 27 Dec 2011 23:02:38 +0000 (18:02 -0500)]
Mark email addresses and phone numbers invalid
This comes from an idea from Jeff Godin. For staff to indicate an
email address or phone number "invalid," for whatever definition of
"invalid" has meaning at the institution (as in invalid addresses
today), there is now a UI control in the patron editor.
This UI control invokes a middle layer method that will clear the email
(or phone) field from actor.usr, and create a corresponding standing penalty
against the user, for staff to notice next time they bring up said patron in
the staff client. Such penalties will be archived whenever that patron's
email address or phone number is updated again.
The middle layer method is a wrapper around a method that may take
different parameters (like an email address instead of a patron ID) to
potentially support future uses such as invalidating email addresses
automatically in batch.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Thomas Berezansky [Mon, 19 Dec 2011 20:55:52 +0000 (15:55 -0500)]
Receipt Template Non-String Protection
Don't try to replace on things that aren't strings.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Jason Etheridge [Wed, 11 Jan 2012 04:48:58 +0000 (23:48 -0500)]
Relabel Force Context in receipt template editor
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Thomas Berezansky [Tue, 20 Dec 2011 16:49:16 +0000 (11:49 -0500)]
Add Context to Receipt Templates
By default the print context is used, but this enabled each template to be
assigned a specific printer context that it is intended for.
This means that things that normally use "Default" can be forced to, say,
"Receipt" and such easily.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Thomas Berezansky [Mon, 19 Dec 2011 22:08:09 +0000 (17:08 -0500)]
Make Reprint Last printing context aware
Allows for re-use of previous printer context and all settings thereof.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Jason Etheridge [Tue, 10 Jan 2012 16:55:20 +0000 (11:55 -0500)]
Remove 'boo' alert in hold details interface
Willing to let any surprises here be natural. :-) We can re-bug if there are
issues.
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Jason Etheridge [Tue, 10 Jan 2012 20:49:23 +0000 (15:49 -0500)]
fix breakage from recent merges
Also, a good argument for keeping all perm additions in the same INSERT in the
950 file, since git would have reported a merge conflict against master had I
done that instead of simply appending the upgrade script to the file.
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Mike Rylander [Tue, 10 Jan 2012 20:14:59 +0000 (15:14 -0500)]
Terminology adjustment to reduce conflicts with the term "recall"
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Tue, 10 Jan 2012 20:13:58 +0000 (15:13 -0500)]
Stamping force and recall hold permission addition script
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Thomas Berezansky [Thu, 6 Oct 2011 13:13:38 +0000 (09:13 -0400)]
Completing Force/Recall Holds
Add support for the Force and Recall hold types to be something other than
just aliases of Copy holds.
Both holds are made to cut in line over *all* other holds and both ignore
all hold rules, including copy, location, and status holdable flags.
Recall holds, when they reach their destination, will be flagged to be sent
to cataloging.
In addition, to place either kind of hold you need a new permission at the
copy's circulation library:
COPY_HOLD_FORCE for force holds
COPY_HOLD_RECALL for recall holds
Also, some re-ordering of logic should result in a fix for issues with
capturing holds as transits and/or suppressing holds and the hold shelf
logic.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Tue, 10 Jan 2012 20:11:07 +0000 (15:11 -0500)]
Merge branch 'master' of git.evergreen-ils.org:Evergreen
Mike Rylander [Tue, 10 Jan 2012 20:03:57 +0000 (15:03 -0500)]
Stamping upgrade script for in-db hold permit fixups
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Tue, 10 Jan 2012 19:53:06 +0000 (14:53 -0500)]
Add customization to staff client serial and print CSS files
The *_custom.css variants of these are created automatically at install
time, so give the parents the ability to actually use them.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Thomas Berezansky [Thu, 6 Oct 2011 18:23:26 +0000 (14:23 -0400)]
TPac messages for item/location/status not holdable
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Thomas Berezansky [Thu, 6 Oct 2011 15:48:21 +0000 (11:48 -0400)]
Fix INDB hold permit holdable checking
Check Item/Status/Location holdable flags
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Lebbeous Fogle-Weekley [Tue, 10 Jan 2012 17:59:57 +0000 (12:59 -0500)]
Add a "staff_alert" column to config.standing_penalty, and ...
... consult this when deciding whether to show the stop sign page in the
patron interface of the staff client, rather than explicitly checking
for the id of the ALERT_NOTE config.standing_penalty.
Now only show the standing penalty if the staff_alert value is true,
instead of unconditionally showing it for all penalties with a
block_list value. This allows staff to configure blocking penalties
that do not alert.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Mike Rylander [Tue, 10 Jan 2012 19:26:50 +0000 (14:26 -0500)]
Merge remote-tracking branch 'eg-working/user/senator/tpac-bookbag-viewer'
Lebbeous Fogle-Weekley [Tue, 15 Nov 2011 06:50:00 +0000 (01:50 -0500)]
Tpac: better "HTML view" for shared lists under "my lists"
From the "my lists" interface, you get a link labeled "HTML View" for
any shared lists, and this link, while meant to be shared, just
gives you a search results page where the only search term is simply "in
the given list."
This commit makes the search results page a little smarter in that case,
in order to
a) show you the bookbag metadata, including name, description and
item notes.
b) allow you to keep searching *within* your list, until you don't
want to anymore, at which point there's a checkbox you can uncheck.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Mike Rylander [Tue, 10 Jan 2012 19:14:38 +0000 (14:14 -0500)]
Stamping upgrade script for SMS notification branch
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Etheridge [Mon, 31 Oct 2011 09:40:15 +0000 (05:40 -0400)]
fix existing Notification Type typo
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Bill Erickson [Mon, 9 Jan 2012 15:46:52 +0000 (10:46 -0500)]
Prevent unshared warnings in hold placement closure
sub data_filler {} becomes $data_filler = sub {}
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Jason Etheridge [Thu, 22 Sep 2011 13:17:50 +0000 (09:17 -0400)]
SMS texting
For SMS functionality we're basically converting a carrier and a phone number
into an email address and sending via SMTP like other email notifications.
There is administrative UI for configuring these mappings:
Admin -> Server Settings -> SMS Carriers
The permission ADMIN_SMS_CARRIER is needed to use this interface. In a stock
Evergreen installation, this is given to the Global Administrator group.
In this interface, any occurance of "$number" in the Email Gateway field will
change into the pertinent SMS phone number when the mapping gets used. We're not
doing anything fancy here for verifying or munging phone numbers, but you could
do munging in the pertinent SMS Action/Trigger templates, or better, contribute
code for the OPAC templates and/or the utility method get_sms_gateway_email in
Trigger/Reactor.pm.
Our set of stock mappings comes from
http://en.wikipedia.org/wiki/List_of_SMS_gateways
There's no automated process for keeping this up-to-date, though some volunteer
with a Wikipedia account could add the page to their watchlist for changes and
let us know if something needs changing.
Set the org unit setting "SMS: Enable features that send SMS text messages."
(database name "sms.enable") to True to expose the following:
* SMS notification widgets in the TT-OPAC hold placement interface (to notify
when a hold is ready for pickup)
* "(SMS)" links next to call numbers on the TT-OPAC record details page. The
interface spawned by these links require user authentication by default, but
this can be changed by setting the org unit setting "SMS: Disable auth
requirement for texting call numbers." to True. The database name for that
setting is "sms.disable_authentication_requirement.callnumbers".
* New options in TT-OPAC My Account -> Account Preferences -> Notification
Preferences (we also add in some missing prefs for holds outside of SMS)
There are two pertinent Action/Trigger templates under Admin -> Local
Administration -> Notifications / Action Triggers:
* SMS Call Number
* Hold Ready for Pickup SMS Notification
Don't disable these. We rely on the sms.enable YAOUS as the master on/off
switch.
Also, it's probably best to have just one sms.enable for the whole consortium.
If you mix and match on/off settings here, then user preferences for SMS can get
blown away if the user updates their settings in the TT-OPAC at an org where SMS
is disabled. Hrmm, the same would probably happen if the user jumps between the
TT-OPAC and the original JS-PAC.
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Jason Etheridge [Thu, 29 Sep 2011 13:26:49 +0000 (09:26 -0400)]
flesh settings when retrieving patron by barcode
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Jason Etheridge [Sat, 7 Jan 2012 02:02:06 +0000 (18:02 -0800)]
Fix shelf_expire_time closed date overlap test
One-liner courtesy of berick.
* Steps to test
This is time and timezone sensitive, so on the server:
Change your timezone to America/Los Angeles: sudo dpkg-reconfigure tzdata
Stop your NTP server: sudo /etc/init.d/ntp stop
Set the time to 5pm: sudo date --set 17:00:00
Stop Evergreen, Restart Postgres, Start Evergreen
On the client:
Make sure the timezone is set to Pacific time.
1) Change the Library Setting "Default hold shelf expire interval" in the Holds group to have a value of "7 days" (without the quotes) for org BR1 (or if there is an existing value, you can keep it).
2) Create a bib with one item: htest1 (Status of Available)
3) Place a title level hold on the bib
4) Check in htest1 (it should get captured for the hold)
5) Browse the Hold Shelf and note the Shelf Expire Time for the hold that captured htest1 (it should be a week from now, unless you already have a conflicting closed date configured)
6) Cancel the hold and re-check-in htest1 (to remove the Hold Shelf status)
7) In the Closed Dates Editor, Add Single Day Closing for the date noticed previously in the Shelf Expire Time for BR1.
8) Place a title level hold on the bib
9) Check in htest1 (it should get captured for the hold)
10) Browse the Hold Shelf and note the Shelf Expire Time for the hold that captured htest1 (now the bug is illustrated if you get the same date for Shelf Expire Time as you did before, since that day is now a Closed Date and should be skipped over. The patch should fix this.)
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Lebbeous Fogle-Weekley [Mon, 9 Jan 2012 19:45:04 +0000 (14:45 -0500)]
Major enhancements to openils.widget.PCrudFilterDialog
openils.widget.PCrudFilterDialog is (now) a dijit that allows users to define
inclusionary filters based on any number of rows that specify a field
from a given fieldmapper class, an operator, and a value (or range of
values, for the [not] between operator). The resulting filter is
suitable for use as the where clause of a pcrud search call.
AutoGrid has an option, showLoadFilter, that allows you to easily
provide a filter dialog in any AutoGrid-based interface, with some minor
caveats (see the comments at the top of the source for
openils.widget.PCrudFilterDialog). AutoGrid will also pass along the
suppressFilterFields option, which works analagously to the
suppressEditFields option. You can also build your own interfaces to
use this dijit without AutoGrid, if desired.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Etheridge [Tue, 3 Jan 2012 20:46:25 +0000 (15:46 -0500)]
More aggressive recalc of standing penalties
In the staff client, the Refresh button in the patron display will explicitly
ask the server to recalculate standing penalties for the patron. Other automatic
refresh-like behavior meant to synchronize parts of the patron display will not
do this.
This change tweaks the logic to ask for a recalculation with all refresh-like
behavior in the patron display, and will catch such things as staff changing the
user's permisssion profile.
An example of how you might test this:
Admin -> Local Administration -> Group Penalty Thresholds
New Penalty Threshold
Group: Volunteers
Org Unit: CONS
Penalty: PATRON_EXCEEDS_FINES
Threshold: 1
Save
Register user with Profile of Patrons
Load patron, Bills, Bill Patron, Amount: 5, Submit this Bill
Edit
Main (Profile) Permission Group: Volunteers, Save
The interface should refresh and show a Maximum Bills penalty in the patron
summary.
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Scott [Thu, 29 Dec 2011 18:46:24 +0000 (13:46 -0500)]
SETVAL the permission.grp_tree sequence after adding pinned IDs
If we do not update the associated sequence after adding pinned IDs,
sites will be unable to add new permission groups until enough attempts
have failed. Let's bypass that little bit of pain.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Thu, 29 Dec 2011 18:33:38 +0000 (13:33 -0500)]
Prevent permission group conflicts in 2.1 upgrade script
The 2.0-2.1 upgrade script relies on pinned IDs for permission.grp_tree
entries, which might conflict with custom permission groups that a site
might have added previously. A little manipulation can make life safe
for the pinned IDs.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
James Fournie [Wed, 16 Nov 2011 00:56:16 +0000 (16:56 -0800)]
Making the user profile selector disabled rather than readonly
in the case of a user editing their own account. This prevents
a nasty bug whereby Dojo widgets with the readOnly flag set
become labels and therefore do not correctly hold a 'value'
like a normal form widget. See LP#806625 for details.
Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Wed, 30 Nov 2011 04:09:47 +0000 (23:09 -0500)]
Prevent null 852 $a in marc_export
852 $a is supposed to correspond to the institution holding the item
from which access is given, according to the MARC Format for Holdings
Data specification. As the org unit shortnames typically don't
correspond to one of the MARC Code List for Organization entries, we've
assumed that users will define the --location parameter; however, if
that parameter isn't defined, the empty string is used and an empty
subfield is generated. This, in turn, makes other MARC-parsing tools
unhappy. So, only generate an 852 $a if we have an actual value for the
--location parameter.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Mon, 9 Jan 2012 20:53:28 +0000 (15:53 -0500)]
Placeholder upgrade script for late-backport of a fix for 2.0
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Lebbeous Fogle-Weekley [Thu, 5 Jan 2012 23:39:07 +0000 (18:39 -0500)]
A/T Event Revalidation shouldn't change event states from complete to found
Ideally, revalidation should be guaranteed not to change anything about
the event itself at the database level, but I'm not sure we're there
yet.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Mon, 9 Jan 2012 18:49:40 +0000 (13:49 -0500)]
Stamping upgrade script for current_shelf_lib
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Mon, 9 Jan 2012 18:44:16 +0000 (13:44 -0500)]
Merge remote-tracking branch 'eg-working/user/berick/hold-current-shelf-lib'
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Etheridge [Mon, 26 Sep 2011 18:40:19 +0000 (14:40 -0400)]
LP#845763 remote added content breaks
remote added content breaks when using locally served content
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Dan Scott <dan@coffeecode.net>
Dan Scott [Thu, 5 Jan 2012 22:37:55 +0000 (17:37 -0500)]
Wrap upgrade script for archivable stat cats
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Thomas Berezansky [Sat, 17 Sep 2011 18:49:16 +0000 (14:49 -0400)]
Circ Statistical Archiving
Copy Location
Instead of only archiving the copy location with aged circs, do so with all
circs, using the copy location at time of circ. This allows for running of
reports on the copy location even after the item is no longer in it.
Statistical Categories
Add a flag to statistical categories to allow them to be archived with all
circulations (at checkout). Reports can then be run on regular and aged
circulations based on the contents of the statistical categories.
This patch was inspired by Tim Spindler's submission to
https://bugs.launchpad.net/evergreen/+bug/798255 - thanks Tim!
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Thomas Berezansky [Thu, 5 Jan 2012 19:24:16 +0000 (14:24 -0500)]
Fix summary.tt2 openurl block
The extra if was likely added to fix a problem with a missing ;
The missing ; was put back, but the extra if then became a problem.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Thu, 5 Jan 2012 17:01:27 +0000 (12:01 -0500)]
Merge remote-tracking branch 'working/user/artunit/resolver_resolver_timeout_2012_01_05' into dbs/resolver_resolver_timeout_2012_01_05
Dan Scott [Thu, 5 Jan 2012 05:45:19 +0000 (00:45 -0500)]
Teach .gitignore about more built locale fileso
Running a complete build of locales resulted in a lot of new, unwanted
files in "git status". Hide them.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Thu, 5 Jan 2012 05:49:10 +0000 (00:49 -0500)]
Remove vandelay.dtd from i18n Makefile and dirs
Back in
46e233722f9d1ccec1bd97816bb055caa12f8096, vandelay.dtd was
removed in favour of the inline Template Toolkit localizations - so pull
vandelay.dtd references out of the i18n Makfile to avoid corresponding
errors.
Remove vandelay POT and PO files as well.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Thu, 5 Jan 2012 04:57:00 +0000 (23:57 -0500)]
Add language update script for Launchpad -> Evergreen
Launchpad uses different names for locales than we do in Evergreen, and
we want to only update translations that are actually new or have
changed in Launchpad, so dump some intelligence into a script that can
help us with that work.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Thu, 5 Jan 2012 04:18:08 +0000 (23:18 -0500)]
Update translations from Launchpad
Created using the fancy new update_pofiles script. Huzzah!
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Thu, 22 Dec 2011 22:42:03 +0000 (17:42 -0500)]
Resolver: Fix method signature for deleting cache entries
The order of arguments was incorrect and also contained an unnecessary
entry for the open-ils.resolver.delete_cached_holdings method signature.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Art <artrhyno@uwindsor.ca>
Dan Scott [Thu, 22 Dec 2011 22:13:29 +0000 (17:13 -0500)]
OpenURL resolution in TPAC - further cleanup
We appear to be getting one null or empty value in the args.issns array,
which was causing spurious lookups of null ISSNs, so skip the entry if
it is an empty string.
Also, switch from the product-specific "sfx" variable name to the
product-neutral "openurls" as we have CUFTS in the mix these days.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Art <artrhyno@uwindsor.ca>
Dan Scott [Thu, 22 Dec 2011 21:08:07 +0000 (16:08 -0500)]
Make resolver HTTP timeout setting implementation neutral
Rather than exposing the underlying mechanism (LWP) for the HTTP
request via the "lwp_timeout" setting, use "request_timeout" so that if
we switch to a different HTTP library the setting name doesn't
contradict it.
Also, add an example setting to opensrf.xml.example.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Art <artrhyno@uwindsor.ca>
Art Rhyno [Thu, 15 Dec 2011 01:13:30 +0000 (20:13 -0500)]
Timeout for resolver interactions
These changes add some timeout options for using the resolver
setup. For example:
request open-ils.resolver open-ils.resolver.resolve_holdings "issn", \
"0013-0618", "http://sfx.scholarsportal.info/windsor", 10
where "10" is the number of seconds for a timeout. A default timeout can be
specified in the opensrf.xml file in the ResolverResolver section as well:
<lwp_timeout>30</lwp_timeout>
from TPAC, a request can be also include a timeout option:
[% IF openurl.enabled == 'true';
FOR issn IN args.resolver_issns;
resolver = ResolverResolver.resolve_issn(issn, openurl.baseurl,20);
FOR res IN resolver;
%]
where "20" is the number of seconds for a timeout.
In working through this, I found some bugs in my resolver collection
code in misc_util.tt2 for isbns which I have addressed.
Signed-off-by: Art Rhyno <artrhyno@uwindsor.ca>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Art <artrhyno@uwindsor.ca>
Bill Erickson [Wed, 28 Dec 2011 20:44:36 +0000 (15:44 -0500)]
Use hold current shelf lib to determine availability : opac sorting
The availability of a hold can now be determined by
hold.current_shelf_lib == hold.pickup_lib.
This change uses the new hold availability test to sort available
holds to front/top of a patron's holds list (for the OPAC).
Affects open-ils.circ.holds[.canceled|id_list].retrieve
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Mike Rylander [Wed, 4 Jan 2012 18:32:33 +0000 (13:32 -0500)]
Teach cstore et al about predicate-style truth tests in ORDER BY clauses
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Wed, 28 Dec 2011 18:58:45 +0000 (13:58 -0500)]
Use hold current shelf lib to determine availability : hold shelf browse
The availability of a hold can now be determined by
hold.current_shelf_lib == hold.pickup_lib.
This change updates the staff client code to only display the "available
on" value (i.e. shelf_time) in the holds list when the current_shelf_lib
== pickup_lib and not just that it's captured and on a shelf.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Wed, 28 Dec 2011 14:54:32 +0000 (09:54 -0500)]
Use hold current shelf lib to determine availability : SIP
The availability of a hold can now be determined by
hold.current_shelf_lib == hold.pickup_lib.
This change updates the unavailable holds count function for the patron
information SIP call(s).
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Tue, 27 Dec 2011 21:34:46 +0000 (16:34 -0500)]
Use hold current shelf lib to determine availability : A/T validator
The availability of a hold can now be determined by
hold.current_shelf_lib == hold.pickup_lib.
This change updates the HoldIsAvailable action/trigger validator to use
the new test. I've left the original belt-and-suspenders checks in
place and marked them as redundant within the code for reference.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Tue, 27 Dec 2011 21:20:08 +0000 (16:20 -0500)]
Use hold current shelf lib to determine availability : opac hold count
The availability of a hold can now be determined by
hold.current_shelf_lib == hold.pickup_lib.
This change updates the API call for open hold counts for a patron.
open-ils.actor.user.hold_requests.count
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Tue, 27 Dec 2011 20:47:00 +0000 (15:47 -0500)]
Alter hold pickup lib from shelf avoids transit
When the pickup library for a hold is changed while the hold is on the
shelf, we no longer put the copy into transit to the new location.
Instead, we clear the shelf_expire_time (to prevent premature
expiration) and leave the hold and copy otherwise untouched.
This makes it possible for staff to identify items that are sitting on
the holds shelf that need to be put into transit to a new pickup
library. The transit will be created when the item is checked in at the
originating library.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Wed, 28 Dec 2011 16:17:37 +0000 (11:17 -0500)]
New hold status for "Wrong Shelf"
Adds a new hold status code (8) to indicate when a hold is sitting on
the wrong holds shelf.
In the OPAC, a hold status of 8 is displayed as in-transit. Neither
waiting-for-copy or in-transit are entirely accurate. In-transit makes
slightly more sense, since the copy is captured and (slowly) making its
way to the correct shelf.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Tue, 27 Dec 2011 20:55:33 +0000 (15:55 -0500)]
Hold current_shelf_lib for shelf browse API
Use the new current_shelf_lib column on hold requests to determine which
copies are on a given shelf. This also removes the shelf_time filter
since shelf_time is guaranteed to be set if current_shelf_lib is set.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Tue, 27 Dec 2011 18:18:08 +0000 (13:18 -0500)]
Hold current_shelf_lib API for setting/clearing.
Sets and clears the hold.current_shelf_lib value as appropriate during
hold capture, transit checkin, hold resetting, etc.
Also, we now create hold transits (instead of regular transits) when a
captured copy is (unexpectedly) found at the wrong branch and needs to
transit to the pickup lib. This can happen if the captured copy simply
transits to the wrong place (existing behavior) or the pickup lib for
the hold was changed while the copy was on the shelf (new behavior).
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Tue, 27 Dec 2011 17:19:05 +0000 (12:19 -0500)]
Hold current_shelf_lib DB and IDL
Schema, upgrade, and IDL pieces for a new
action.hold_request.current_shelf_lib column. The goal of the column is
to track the location where a hold is currently sitting on a hold shelf.
Typically, this will be the pickup library, however, if the pickup
library has changed while the hold was on the shelf, the current shelf
lib will be different.
The upgrade script sets current_shelf_lib to match the pickup_lib for
all holds that are currently active and on the shelf.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Scott [Tue, 22 Nov 2011 16:55:45 +0000 (11:55 -0500)]
Avoid updating deleted call numbers for 2.0 -> 2.1 upgrade
25% of the call numbers on our production system are deleted, so
filtering out the deleted call numbers from the update in the 2.0 -> 2.1
upgrade saves a significant amount of time.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Thomas Berezansky [Tue, 3 Jan 2012 17:00:47 +0000 (12:00 -0500)]
Add OpenILS::WWW::Proxy::Authen Module
Enables HTTP Basic Authentication access control.
Uses the OILSProxyPermissions and OILSProxyLoginType settings, but prompts
are controlled by the Apache AuthName directive.
This module allows things like Directory Indexing and non-perl or otherwise
incompatible with the normal proxy module Response (or similar) handlers to
be password-protected.
It also supports the OpenILS::WWW::Proxy user/passwd CGI params to allow
an easier transition between the two.
For example:
<Location /authen_login/>
Options +Indexes
PerlOptions +GlobalRequest
PerlSetVar OILSProxyPermissions "VIEW_REPORT_OUTPUT"
PerlSendHeader On
AuthType Basic
AuthName "Notices Login"
PerlAuthenHandler OpenILS::WWW::Proxy::Authen
require valid-user
allow from all
</Location>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Thomas Berezansky [Tue, 3 Jan 2012 18:48:18 +0000 (13:48 -0500)]
Change default proxy configs to Authen variant
Also, because Authen causes Indexes to function, turn them off by default.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Wed, 4 Jan 2012 15:36:08 +0000 (10:36 -0500)]
Stamping upgrade script for coded value map index normalizer
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Tue, 3 Jan 2012 21:41:42 +0000 (16:41 -0500)]
Coded value map index normalizer
New index normalizer which maps a coded value from the record to the
display value configured in config.coded_value_map. The normalizer is
applied with one parameter, the ctype of the coded_value_map to use for
the mapping.
E.g config.metabib_field_index_norm_map:
id | field | norm | params | pos
---+-------+------+---------------+-----
57 | 31 | 17 | ["item_lang"] | -1
* pos = -1 causes this normalizer to be applied to facet_entry's
This is primarily useful for facets. For example, you could create a
metabib_field for language and mark it as a facet_field. Applying this
index would allow the mapped language names (e.g. "French" instead of
"fre") to display as facets.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Tue, 3 Jan 2012 22:30:43 +0000 (17:30 -0500)]
Revert "TPAC: Uniform search lib / depth settings"
Reverting partial commit that accidentally crept in, causing TPAC
breakage.
This reverts commit
ea71899306e026bd0c9c91180a0af76a55fbec08.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Thomas Berezansky [Fri, 30 Dec 2011 16:54:00 +0000 (11:54 -0500)]
Fix typo causing Javascript Shell to not enable
DEBUG_CIENT != DEBUG_CLIENT
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Thomas Berezansky [Fri, 30 Dec 2011 15:39:01 +0000 (10:39 -0500)]
Use the FTP site for Xulrunner downloads
releases.mozilla.org was causing trouble for us; the FTP site appears to
be more stable.
Oh, and bump the Xulrunner version slightly while we are at it.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Mike Rylander [Thu, 29 Dec 2011 17:15:25 +0000 (12:15 -0500)]
Merge remote-tracking branch 'eg-working/user/dbs/lp894052-version-upgrade'
One merge conflict in 2.0-2.1-upgrade-db.sql silenced with -X theirs. See
LP#894052 for details.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Tue, 27 Dec 2011 17:31:03 +0000 (12:31 -0500)]
TPAC: Uniform search lib / depth settings
The current TPAC code uses logic embedded within the templates to
determine which org unit and depth to apply to searches.
This commit attempts to standardize the logic within the new
OpenILS::WWWW::EGCatLoader::Util::_get_search_lib() function and sets
the result as a new context variable, "search_ou". The org unit is
determined as follows (first matching condition wins):
* specific CGI "loc" value
* logged-in user's preferred search library
* logged-in user's home org unit
* specific CGI "physical_loc" value
The depth is set as follows (first matching condition wins):
* specific CGI "depth" value
* depth of the chosen org_unit
As of this commit, a library that wishes to set the a default search
org unit for any given user should set the "physical_loc" CGI param;
after the user performs their first search, the "loc" CGI param will
propagate through most interfaces. When a user clicks "Your account log
in", the user's preferred search library or home org unit will be set as
the new search lib.
At any time after that, the user can select a different org unit from
the org unit selector to explicitly set the "loc" CGI param.
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Dan Scott [Wed, 28 Dec 2011 23:42:18 +0000 (18:42 -0500)]
TPAC: Add "preferred search location" preference setting
Working towards parity with the JSPAC, give the user the ability to set
their preferred search library in account preferences via the org
selector. The value defaults to the user's home OU.
Also set a sane default of 10 search results per page in the absence of
any preference, as the default had been set to 5.
While we're in there, remove some of the inline styles and weird markup
in the user preference page, and refactor the O:W:EGCatLoader:Account
module to accept an easily-appended list of preferences to be set.
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Dan Scott [Wed, 28 Dec 2011 02:17:02 +0000 (21:17 -0500)]
TPAC: Set search_ou context in common loader
By setting the search_ou context in load_common() after checking for a
valid user session, we can catch the remaining pages in TPAC in which
the default search library was not being set properly.
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Dan Scott [Tue, 27 Dec 2011 23:36:32 +0000 (18:36 -0500)]
TPAC: Resolve conflict with master
The changes for LP909111 ended up causing a conflict with this branch.
Resolve!
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Dan Scott [Tue, 27 Dec 2011 17:31:03 +0000 (12:31 -0500)]
TPAC: Uniform search lib / depth settings
The current TPAC code uses logic embedded within the templates to
determine which org unit and depth to apply to searches.
This commit attempts to standardize the logic within the new
OpenILS::WWWW::EGCatLoader::Util::_get_search_lib() function and sets
the result as a new context variable, "search_ou". The org unit is
determined as follows (first matching condition wins):
* specific CGI "loc" value
* logged-in user's preferred search library
* logged-in user's home org unit
* specific CGI "physical_loc" value
The depth is set as follows (first matching condition wins):
* specific CGI "depth" value
* depth of the chosen org_unit
As of this commit, a library that wishes to set the a default search
org unit for any given user should set the "physical_loc" CGI param;
after the user performs their first search, the "loc" CGI param will
propagate through most interfaces. When a user clicks "Your account log
in", the user's preferred search library or home org unit will be set as
the new search lib.
At any time after that, the user can select a different org unit from
the org unit selector to explicitly set the "loc" CGI param.
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Bill Erickson [Tue, 27 Dec 2011 18:45:02 +0000 (13:45 -0500)]
TPac: improve search depth extraction
Improves how we determine the depth of a search. The Order of
operations:
1. Depth encoded within the search query, e.g. depth(2)
2. CGI depth param
3. Default is to match the depth of the searched org unit
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Dan Scott <dan@coffeecode.net>
Thomas Berezansky [Thu, 29 Sep 2011 23:26:17 +0000 (19:26 -0400)]
Reverse Copy Location picker labels via WS Setting
If the setting is set then place the name before the org unit. This allows
for typing of the start of the name without having to deal with the org
unit shortname "eating" the start of the label (and thus type-in), but
preserves the information the org unit provides.
As an example, instead of having to type:
CONS : St
To get close to the default "Stacks" in a long list you could just type
St
And likely get to, or close to, Stacks.
The option can be toggled from the Workstation Administration menu.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Conflicts:
Open-ILS/xul/staff_client/chrome/content/main/menu.js
Open-ILS/xul/staff_client/chrome/content/main/menu_frame_menus.xul
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Fri, 23 Dec 2011 06:56:02 +0000 (01:56 -0500)]
TPAC: Display monograph parts
In search results and record details, display monograph parts if
associated with a copy. Uses unapi for search results and json_query for
record details. Only generates the "Part" column in the copy table if
that record actually has a monograph part; otherwise the column is not
generated.
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Thomas Berezansky [Wed, 21 Dec 2011 21:51:48 +0000 (16:51 -0500)]
SIP2: Fix transit home on checkin
The Checkin doesn't need a destination_loc, but the item needs it set.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Sarah E. Chodrow <sarah.chodrow@bibliotheca-itg.com>
Bill Erickson [Thu, 22 Dec 2011 15:13:03 +0000 (10:13 -0500)]
SVF in bib record summary: extract attrs on the server
This repairs a FIXME within the custom bib overlay code related to
parsing metabib.record_attr stores within the JS. Instead, now we use
an attr parsing utility function which compiles a regular hash so the
client no longer needs to parse it.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Jason Etheridge [Thu, 8 Dec 2011 22:48:42 +0000 (17:48 -0500)]
support SVF in staff client bib record summary
This is in support of https://bugs.launchpad.net/evergreen/+bug/822928, re: Cat Date
So for example, let's suppose you want to store a "Cat Date" in MARC tag 915, subfield a.
You could do this in the database:
INSERT INTO config.record_attr_definition (name,label,filter,sorter,tag,sf_list)
VALUES ( 'cat_date', 'Cat Date', 'f', 't', '915', 'd' );
Add this to server/locale/en-US/cat_custom.properties (optional but recommended):
staff.cat.bib_brief.cat_date.label=Cat Date:
staff.cat.bib_brief.cat_date.accesskey=
And then add something like this to server/skin/custom.js:
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces['nsIPrefBranch']);
prefs.setCharPref(
'oils.bib_brief.horizontal.dynamic_grid_replacement.data',
js2JSON([
["title", "edition", "editor", "cat_date"],
["author", "pubdate", "edit_date", "holds"],
["bib_call_number", "tcn", "create_date", "items"]
])
);
prefs.setCharPref(
'oils.bib_brief.alternate_copy_summary.dynamic_grid_replacement.data',
js2JSON([
["title", "edition", "editor", "cat_date"],
["author", "pubdate", "edit_date", "holds"],
["call_number", "tcn", "create_date", "items"]
])
);
} catch(E) {
dump('Error in custom.js trying to set oils.bib_brief.*.dynamic_grid_replacement.data: ' + E + '\n');
}
Finally, re-ingest any records with tag 915d (you can simply edit the MARC via
the MARC Editor for a specific record, or if the ingest.reingest.force_on_same_marc
row in config.internal_flag is enabled and you're not doing this during library
hours, you can re-ingest all records with UPDATE biblio.record_entry SET marc = marc;)
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Scott [Wed, 21 Dec 2011 22:13:49 +0000 (17:13 -0500)]
Wrap upgrade for "Tag previously circulated items" YAOUS
Also fix a typo ("currenlty") and use the full "circulation" for easier
translation.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Bill Erickson [Tue, 29 Nov 2011 21:54:52 +0000 (16:54 -0500)]
TPac; indicate search results previously checked out
When a user is logged in to the tpac and performs a search, indicate in
the results set when any of the result items were ever checked out by
the logged in user.
Items will only be tagged when the related org setting is enabled and
the user has opted-in to circ history tracking.
New org unit setting is "opac.search.tag_circulated_items" /
"Tag Circulated Items in Results"
In the search results, just below title/author/callnumber/copy-count, a
new line is displayed that says "I have checked out this item before"
with a purdy little checkmark.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Thomas Berezansky [Wed, 21 Dec 2011 21:19:47 +0000 (16:19 -0500)]
TPac: Don't show part selector on hold result page
Instead, duplicate the hold list's "part name in parens" display, when a
part was selected.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Mon, 19 Dec 2011 17:57:08 +0000 (12:57 -0500)]
TPAC: Change title tooltip in results table to useful message
From dbs's original commit:
The tooltip that would display when hovering over the title of a result
in the results table was simply the URI-escaped version of the title
text - not particularly helpful. Change this to say "Display record
details" as an actual hint about what action will occur when the user
clicks on a title in the results list.
This modified commit changes the title to 'Display record details for
"<title>"'
This commit also introduces the HTML plugin as a new
loaded-by-default template plugin. Among other things, it's useful for
ensuring HTML attributes are safely encoded, moresoe than |html, which
does not escape quotes.
https://bugs.launchpad.net/evergreen/+bug/902979
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Dan Scott <dan@coffeecode.net>
Dan Scott [Wed, 21 Dec 2011 17:58:46 +0000 (12:58 -0500)]
TPAC: Split result copy counts into a separate template
As Thomas Berezansky suggests, sites are likely to want to customize the
display of copy counts depending on whether they're consortial sharers,
how deep they want to display, whether they want to just show the
matching search scope... make it easy to customize by moving the
copy counts portion of the results table into a separate template.
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Dan Scott [Wed, 21 Dec 2011 06:06:06 +0000 (01:06 -0500)]
TPAC: Improve display of holds/copy counts on record details
Based on some suggestions from Thomas Berezansky in LP 906168:
* Change the "Copies" header to "Available copies"
* Simplify the copy language to "# copies at <library>" (we still need
the noun "copies" but "available" has been factored out)
* Create a "Holds" header and move the holds information under that
* Put the "Available copies" and "Holds" into inline-block elements
so that they can take less vertical space on a wide screen but
will wrap on a narrow screen.
* Fix the line spacing between LI elements
In addition, break up the lengthy summary TT2 file into a few smaller
parts. In particular, make a copy_counts.tt2 file as sites are very
likely to customize this to, in some cases, not show the consortial
counts, or in other cases to only show the consortial count and current
search library.
Also fix some horrible CSS issues in the header in which the "Place
hold" and "Add to list" buttons were above the title / image, as well as
remove some of the CSS manipulation to plain H2 elements that gave them
no top margin.
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Dan Scott [Mon, 19 Dec 2011 04:54:15 +0000 (23:54 -0500)]
TPAC: Display additional levels of copy counts
In line with the MassLNC TPAC suggestion, display the copy counts for
search results and record details not only at the consortial level, but
also at up to two additional levels of the org unit hierarchy (but no
deeper than the user has chosen to search).
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Bill Erickson [Fri, 7 Oct 2011 20:11:33 +0000 (16:11 -0400)]
TPac; display mono part in account holds list/edit
Part label is appended to the title, wrapped in (parens).
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Bill Erickson [Thu, 6 Oct 2011 18:34:03 +0000 (14:34 -0400)]
TPac: holds placement on monographic parts
Ability to place holds on monographic parts. In the holds placement
form, if a record has parts, a parts selector will display in the form
allowing the user to optionally specificy a monographic part for the
hold.
If a record has no non-part copies, the user is required to select a
part, because, in such cases, the hold cannot be fulfilled without
selecting a part.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>