Jeff Godin [Wed, 30 Oct 2013 20:52:19 +0000 (16:52 -0400)]
Add username suggestion based on patron name
Add support for suggesting a username based on the patron's first
and last name.
Currently, the scheme for suggestion is a lowercased first initial +
last name, with any characters other than [a-z] removed.
No effort is made to suggest an available username, but if the
suggested username is already in use, the standard "username in use"
message is displayed next to the username field.
Staff can initiate the username suggestion by clicking the new
button next to the username field, and usernames are automatically
suggested when loading a staged user.
Jeff Godin [Wed, 30 Oct 2013 20:41:06 +0000 (16:41 -0400)]
Improve username flow for staged users
Staged users in most cases have a username that consists of a UUID.
Rather than leave the UUID as their username or require staff to
clear the field and replace it with a barcode or other value, it
would be better to remove this username when loading the staged user
in the user editor.
This commit clears the username when loading a stage user if the
username looks like a UUID.
If a barcode has been staged for the loaded staged user, the
username will be populated with that value.
If there is no staged barcode, the username will remain blank and
will be populated using the standard method after staff enters a
value in the barcode field.
Jeff Godin [Wed, 30 Oct 2013 19:42:15 +0000 (15:42 -0400)]
Add button to update expire date field
When updating/renewing a patron (expired or not), it would be
convenient to have a means of populating the expire date field with
a value of perm_interval + today. Currently, staff are required to
manually enter a date, or could toggle the profile from one profile
then back to the desired profile, but this is not ideal.
This commit adds a new button next to the expire date, which when
activated will re-calculate the date based on the current profile's
perm_interval and today's date.
This is similar to how the expire date is populated when creating a
new user, or when changing the profile group. A button is used here
so that the updating of the expire date is an intentional process,
not one that happens upon any edit.
Jeff Godin [Wed, 30 Oct 2013 19:29:24 +0000 (15:29 -0400)]
Treat empty username as invalid in user editor
There seems to be undesired interaction between the required
attribute and the isValid method on a dojo/dijit ValidationTextBox.
If both are set, isValid needs to check for an empty value,
otherwise the field is considered valid the moment it gains focus.
We don't want an empty username to be considered valid, because we
know that we will be unable to save the user.
We can work around this by teaching the isValid function to consider
an empty value as invalid.
Jeff Godin [Wed, 30 Oct 2013 18:37:10 +0000 (14:37 -0400)]
Don't show contact invalidators for new users
Don't show contact invalidator buttons for new users. This affects
staged users and cloned users, where the contact fields have a value
when the editor initially loads.
Jeff Godin [Wed, 30 Oct 2013 17:20:28 +0000 (13:20 -0400)]
Skip dup username check when username unchanged
Changing a username, then changing back to the user's current
username results in a duplicate username detection -- a false
positive due to the API call finding a user with that username --
the current user. This prevents you from saving any other changes
you may have made to the user.
This can be prevented by skipping the duplicate username check if
the user is not new and the username in the field matches the
username stored in the in-memory Javascript representation of the
user.
There's still a potential corner case which could be avoided by
using a new/modified API call to either accept an "except this
au.id" argument or to return the au.id of the found user, but I
don't see a need for that at this point.
Jeff Godin [Wed, 30 Oct 2013 17:17:25 +0000 (13:17 -0400)]
Add alert in user editor for method errors
Add an alert() in the user editor so that method errors are not
silent.
Without this, a method error (such as when saving a patron fails at
the db level) is silent. Better to at least inform the user that
something is amiss.
Steven Callender [Mon, 15 Oct 2012 14:48:28 +0000 (10:48 -0400)]
Added a check for the money.collections_tracker table when using the open-ils.collections.users_of_interest.warning_penalty.retrieve API call.
Users that are already entered into the money.collections_tracker table should not be recalled from the open-ils.collections.users_of_interest.warning_penalty.retrieve API. This change will check for the existance of the user in the money.colletions_tracker table.
Signed-off-by: Steven Callender <stevecallender@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Jeff Godin [Mon, 3 Jun 2013 20:03:11 +0000 (16:03 -0400)]
Add explicit sort to collections API with limit
Add an explicit ORDER BY au.id ASC when limiting collections API
calls. This ensures that the same users will be returned on
subsequent calls, assuming no other relevant changes in the data.
Jeff Godin [Thu, 14 Mar 2013 18:15:28 +0000 (14:15 -0400)]
Fix detection of empty Syndetics AC data elements
Due to a change in how the vendor responds to requests for data
elements which are not present for a requested title, we need to
change how we detect "empty" data elements in the "data_exists"
function.
First, we check for the new "No Data Available" title element, then
we check for the previously-used value of "error".
This change resolves the symptom where the catalog would display
tabs for "Author Notes", "Excerpt", "Table of Contents", on every
record in the catalog, even when clicking each tab would show that
the content was not present / available.
Signed-off-by: Jeff Godin <jgodin@tadl.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Jeff Godin [Wed, 1 May 2013 16:32:06 +0000 (12:32 -0400)]
Auto re-bill forgiven overdues on lost checkin
Auto re-bill forgiven overdues on checkin of a lost item.
This is done by looking for a Forgive payment with a special note,
then creating a new billing of type Overdue materials. Nothing is
done to the previous daily billings on the transaction.
Jeff Godin [Mon, 11 Mar 2013 20:25:40 +0000 (16:25 -0400)]
TPAC: Add physical_dept arg/cookie
Add physical_dept variable to TPAC -- set by url argument, backed by
a session cookie.
This is accessible to TPAC templates as ctx.physical_dept, and can
be used by conditionals to show/hide UI components based on the
provided location of a catalog terminal within a library.
physical_dept is independent from, and can be used in combination
with, physical_loc: /eg/opac/home?physical_loc=2&physical_dept=teen
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>
Jeff Godin [Thu, 29 Nov 2012 21:53:36 +0000 (16:53 -0500)]
Suggest password change on login if 4 digit PIN
Suggest that the user change their password at login if the password
is a four digit PIN. Do this by redirecting to the update_password
page with a CGI param to trigger an optional message.
Jeff Godin [Sat, 3 Nov 2012 04:50:10 +0000 (00:50 -0400)]
HACK: Ignore backdate on all SIP checkins
Very temporary workaround for LP 978287, which affects TADL on every
SIP checkin, since every SIP checkin is being backdated in our
environment.
A more elegant solution to be backported from master when it is
ready. For now, we use this workaround and try to avoid incorrect
overdue fines being generated this weekend.
Jeff Godin [Fri, 12 Oct 2012 13:44:25 +0000 (09:44 -0400)]
Enable optional shared ses cookie for SSO-like use
Enable a shared ses cookie which is set at the domain level and can
then be used by other web based systems to verify an Evergreen user.
One example would be EZproxy with one of the CGI authentication
options.
TODO: move shared_ses_domain_regex into a single location
Jeff Godin [Fri, 27 Jul 2012 17:57:20 +0000 (13:57 -0400)]
Append ?r= to rdetail url for non-TPAC staff
Now that TPAC is an option in the staff client, interfaces no longer
append '?r=' to the value of urls['opac_rdetail']. Therefore,
custom.js needs to be updated to include the '?r=' so that View in
Catalog and such does not break.
Jeff Godin [Wed, 9 May 2012 13:33:18 +0000 (09:33 -0400)]
Only request review sources TADL subscribes to
For Syndetic Solutions, only request those review
sources which TADL subscribes to. This includes
sources not requested by default, and removes
sources which we do not use. The ordering of
the review sources is also intentional.
Bill Erickson [Fri, 18 May 2012 17:23:53 +0000 (13:23 -0400)]
tpac added content default type improvements
* In the pre-JS state, only choose a default display type when the type
is known to have data.
* If no default type is chosen for the main tab link, because no data
was available to the template, set the default from the first added
content type determined to be available via JS.
* Move added content JS to separate template file for easier override.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Tue, 15 May 2012 14:11:37 +0000 (10:11 -0400)]
TPAC added content data retrieval sanity check
On the backend, avoid fetching added content data when initial request
returns 404. This prevents edge case where a specific type may be
selected (e.g. via bookmark) even though no data exists for the type.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Mon, 14 May 2012 19:22:08 +0000 (15:22 -0400)]
TPAC added content integration
https://bugs.launchpad.net/evergreen/+bug/984963
This adds a new tab on the detail page called Additional Content
(suggestions welcome). When the tab is expanded, available content is
presented to the user via a series of sub-tabs.
At the start of loading the record detail page, kick off a series of
asynchronous HTTP HEAD requests, one per type of added content. At the
end of context loading, read the results of the HTTP requests for any
that have completed. If the status for a type is 200, the type is
marked as available. If it's not 200 (usually 404) it's marked as not
available. Otherwise, it's marked as unknown.
In the template, available content produces a link the user can click
to view the content. Non-available content produces no links. Unknown
content produces a link that may lead to content or no content when
JS/dojo is disabled. When dojo is enabled, unknown content sends a
series of JS queries to determine the state of the content
asynchronously and results in displayed links for any type that is later
determined to have content.
TODO: when the user expands the Additional Content tab, no type is
chosen by default. A default (available) type needs to be selected on
initial display.
TODO: better styling, particularly in the sub-tabs.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jeff Godin [Tue, 29 May 2012 14:28:50 +0000 (10:28 -0400)]
Fix IDL and OU setting check for staged users
The IDL had references to sequences that do not exist:
staging.usr_stage_row_id_seq -- a typo, fixed
In the case of staging.billing_address_stage_row_id_seq, the
staging.billing_address_stage table is created with LIKE,
and uses the sequence staging.mailing_address_stage_row_id_seq
The OU setting check for the open-ils.actor.user.stage.create API
call was not passing an org unit, and would always fail.
We now pass the home_ou of the user being staged.
At this point, the opac.allow_pending_user OU setting type must
be manually created before its value can be set.
These are intended for use as an alternative to their "void"
counterparts in situations where the library does not refund
fees and fines, and wishes funds taken in for one purpose or
billing type to not be re-applied toward a different billing
type as a result of voiding bills after they have been paid.
When circ.forgive_overdue_on_lost is set, attempt to make a
payment of type "Forgive" on the transaction for the amount
of outstanding overdue billings.
Only outstanding bills of type 1 (Overdue materials) will
be paid, and only the first contiguous grouping. If the
system finds an outstanding billing of type other than 1,
it will pay what it has found up to that point.
circ.forgive_overdue_on_lost has priority over the "void"
version of the same setting, if both happen to be set.
When circ.forgive_lost_on_checkin and/or
circ.forgive_lost_proc_fee_on_checkin is set, make a Forgive payment
on outstanding Lost and Lost Processing Fee bills on checkin of a
lost item.
New utility function:
outstanding_bills_for_circ (in AppUtils) accepts an editor and a
circ object, and will return a reference to an array of outstanding
billing objects. this has been broken out of the forgive_overdues
sub, as it will be useful elsewhere.
Jeff Godin [Wed, 25 Apr 2012 08:23:28 +0000 (04:23 -0400)]
Finish Added Content by record ID
OpenILS::WWW::AddedContent now supports fetching content by record ID.
To start, this lets us request content in a way that uses both ISBN
and UPC as keys, assuming the AC handler and provider support it.
The previous method of requesting AC data continues to be
supported, and should be unaffected.
Business::ISBN is used to clean ISBN values when fetching by record ID
If we find no valid ISBN and no UPC values in the record,
do not attempt to call an AC handler. This will need
to change when we have AC handlers that rely on other
possible keys.
Attempt to serve from cache before fetching keys from the bib
record in the database.
Jeff Godin [Mon, 23 Jul 2012 20:17:05 +0000 (16:17 -0400)]
Apply TADL-specific SIP patron barcode transforms
TADL has some SIP clients which are not capable of removing extra characters
from some scanned patron barcodes. Thus, we handle that on the SIP server side.
If no active card is found with the barcode provided in the SIP request, first
see if it starts with an uppercase letter. If so, lowercase it, then determine
if certain length requirements are met, and if so also truncate the value.
Attempt to find an active card via the resulting value, and return the usual
error if not found.
Jeff Godin [Tue, 19 Jun 2012 19:10:07 +0000 (15:10 -0400)]
Pass authtoken to OpenILS::SIP::Patron objects
To support retrieval of billing details, OpenILS::SIP::Patron
objects need an auth token.
Teach OpenILS::SIP->find_patron to pass patron objects an auth
token, and also move existing "find patron by what key: barcode or
database id?" logic into find_patron (and out of
OpenILS::SIP::Patron->new).
Dan Scott [Wed, 25 Jul 2012 16:45:27 +0000 (12:45 -0400)]
Add evergreen.get_locale_name() function to base schema
I added the evergreen.get_locale_name() function to the database schema
upgrades in 0723 but failed to add it to the base schema, resulting in
errors like: 'egweb: template error: undef error - Can't call method
"maketext"'. Get rid of that problem!
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Dan Scott [Fri, 20 Jul 2012 17:41:50 +0000 (13:41 -0400)]
TPAC: Decode translated strings into UTF8
Without the _decode pragma, Locale::Maketext::Lexixcon did not
understand that it was being handed Unicode and generated some funky
output in the TPAC templates.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Scott [Tue, 17 Jul 2012 21:37:54 +0000 (17:37 -0400)]
TPAC: Implement a locale picker
In situations in which more than a single locale is configured, display
a locale picker in the TPAC header based on the registered locales. We
set the eg_locale cookie if passed a set_eg_locale GET param. Default
the selection to the currently selected locale (if any) and resubmit the
current page request.
Grabs the localized locale names, if available, from the database;
otherwise falls back to the en-US version of the locale names.
The locale picker form resubmits the current page with any variables
that were present in the current page request, so that switching locales
should still maintain state.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Conflicts:
Steven Chan [Wed, 18 Jul 2012 18:22:14 +0000 (11:22 -0700)]
Fix LP800480, ACQ - Vendor Invoice Won't Save
1. Upon submitting the form, the client prepares two auxiliary data
objects containing service charges and line items. The two objects are
normally 'fleshed', ie, contain references to other data objects, but in
the versions sent to the server, they must be 'unfleshed', ie, the
referent objects are converted back to ID values. If the user resubmits
the form, the client should not unflesh again. However, the software for
preparing line items contain lines of code that unfleshes without
checking if the objects are already unflesh. When unfleshing a second
time, we get an uncaught reference error. Ironically, the software also
contains lines of code to do it correctly, so the errant lines of code
are also duplicates.
To fix problem 1, we remove the duplicate errant lines of code. We
define a helper unflesh() method and use it to replace the current lines
of code to unflesh.
2. When the user submits the form without filling in required data
fields in the invoice, including Vendor Invoice ID, the client does not
validate before making a service request. The server tries to complete
the database transaction, but gets an error. When the response comes
back, the client shows the same form so that the user can retry.
However, the message alert to the user is not informative; it indicates
an error at the database level, but does not indicate the probable
reason.
To fix problem 2, We move the lines of code preparing the invoice object
earlier in the sequence. We define a helper method mapValues() to
prepare the invoice object from the values in the UI widget object.
mapValues() will return an error object if it detects that required
values are null. We check for the error object, and will show an alert
message to the user and abort the submit operation early, allowing the
user to retry.
3. When an invoice with line items is saved, the invoice is re-rendered
with new buttons to allow receiving. It also contains a new button to
enable the user to view the line items in list format. However, it does
not work in a non-Firefox browser, because a debug statement using the
'dump()' function is left uncommented. (Inspection of all other
appearances of dump() show they are all commented out.) There is an
uncaught reference because dump() is not found.
Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Jeff Godin [Tue, 24 Jul 2012 06:23:17 +0000 (02:23 -0400)]
Fix TPAC recognition of logged-in users via http
Fixes bug: LP 957375
tpac: catalog does not immediately recognize "stay logged in" users
https://bugs.launchpad.net/evergreen/+bug/957375
The issue: during the login process, the user is redirected to an
https connection and receives a cookie with the "secure" flag set.
Since this cookie is not sent over normal http connections,
following an external link or manually entering an http catalog url
will result in an unexpected "not logged in" experience.
Selecting the login link or any other action requiring login is
enough to return to the "logged in" experience, without a need to
re-enter credentials. Still, we can do better.
This affects users who have checked the persistent login checkbox
and those who have left it unchecked. Users selecting the persistent
login option are more likely to encounter the issue, especially if
the link they typically follow/enter is to a non-https catalog url.
The solution:
Add a new cookie (constant COOKIE_LOGGEDIN)
- contains a "hint" that the user may be logged in already
- set/cleared at login/logout time
- contains no sensitive auth/session data
- "secure" flag not set (sent for both http and https requests)
When a user's browser presents the COOKIE_LOGGEDIN cookie in a
request for a non-https URL, the user is automatically redirected to
the https version of that url.
At that time, if the user has a valid COOKIE_SES cookie set, they
will be recognized as a logged in user. If their COOKIE_SES value is
no longer valid, a logout is performed, clearing both cookies.
If for some reason the COOKIE_SES cookie is not present but the
COOKIE_LOGGEDIN is present, there is a harmless redirection to https
and the user is not logged in, but can log in via the usual means.
To test, after applying:
- log in to the TPAC
- navigate to http://example/eg/opac/home
- You should be redirected to https://example/eg/opac/home and you
should see your name, count of checked out / on hold / etc items
Prior to this, the above steps would result in you remaining on the
http URL and seeing only a "Your Account Log In" button.
Signed-off-by: Jeff Godin <jgodin@tadl.org> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Scott [Thu, 12 Jul 2012 23:12:06 +0000 (19:12 -0400)]
TPAC: Set autofocus appropriately for different contexts
At login, the basic search bar was fighting (and winning) for the
default focus rather than the username field. Additionally, in the
advanced search pages, no field was getting focus. Therefore, check to
see if we expect to be in a context where it makes sense to set the
default focus to the basic search input field; otherwise, set the focus
to the login username field or the appropriate advanced search field.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Scott [Tue, 17 Jul 2012 16:55:39 +0000 (12:55 -0400)]
TPAC: Use % font size + bold to highlight login failure
Loved the idea to call more attention to login failures, but wanted to
try to stick to % for font sizes where possible. Testing suggested that
font-weight:bold and a little padding on top would help the display as
well.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Melissa Lefebvre <mlefebvre@biblio.org>
Dan Scott [Sat, 16 Jun 2012 02:59:23 +0000 (22:59 -0400)]
TPAC: Physical description, now with spaces
Record details will regularly include physical descriptions like
"Physical Description: 1 sound disc :33 1/3 rpm, mono." where the colon
is jammed up against the content from the following subfield. Easily
fixed by using a space as the joiner for the subfields.
Signed-off-by: Dan Scott <dan@coffeecode.net> Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Ben Shum [Wed, 27 Jun 2012 18:01:24 +0000 (14:01 -0400)]
Move Prefix field ahead of Names in patron editor
In earlier versions of Evergreen (1.6 and earlier), the Prefix field
was used to enter title information, such as Mr., Mrs., etc. When the
field was eventually added to the newer patron registration screens
(2.0+), it was added before the patron's last name field. Ideally,
the prefix should be listed prior to the patron's first name instead.
In addition, address label issues by changing "Suffix/Title" back to
only "Suffix" and making "Prefix" into "Prefix/Title".
Note: string changes would normally not be allowed in a stable release,
however in this case the previous translation (if any) will still get
pulled from the IDL for the field in question, so English will not
suddenly start showing up in the patron registration form.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Jason Etheridge [Thu, 10 May 2012 18:18:37 +0000 (14:18 -0400)]
increase the default width for the xul list line number column
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Content provided by Jennifer Turner at PALS. Converted to Asciidoc by Robert Soulliere. Robert also added indexing terms. Appendices for documentation cleaned up as well.
Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
Robert Soulliere [Tue, 19 Jun 2012 16:23:55 +0000 (12:23 -0400)]
Update Evergreen upgrade instructions to reflect the 2.2.0 release.
Update download reference to point to 2.2.0. Also moved
database updates to the end of the process. It seemed out of order since
the database update scripts were run before the download of the 2.2 tar file.
Signed-off-by: Robert Soulliere <robert.soulliere@mohawkcollege.ca>
Dan Scott [Sun, 3 Jun 2012 05:09:26 +0000 (01:09 -0400)]
Improve Fedora prereqs and instructions
Fedora 16 and 17 need the makensis package.
As well, make the Makefile.install target "fedora" to match the OpenSRF
target, and adjust the docs accordingly. This should lead to fewer
changes in the future as Fedora 18, 19, etc roll out.
Dan Scott [Mon, 21 May 2012 03:02:09 +0000 (23:02 -0400)]
Further integration: link README to server install docs
We will now have the INSTALL file linking to the README file which in
turn leads to the docs/installation/server_installation.text file. But
it all works!
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Conflicts:
README
Dan Scott [Mon, 21 May 2012 02:51:52 +0000 (22:51 -0400)]
Merge the Evergreen docs into the code repository
Rather than maintaining two separate repositories, with dual maintenance
of what are essentially single-sourced files in the release notes and
the install instructions, make better use of the docs/ subfolder of the
Evergreen repository. If this crazy scheme works, DIG can commit to the
docs/ subfolder, and devs can commit there too.
When a user views holds in their account, clicking "only available"
on the holds screen or "Ready for Pickup" in the navbar will add an
"available=1" parameter. However, if the user then attempts to return
to a list of all holds, the "available" parameter is not cleared, and
the user will only see holds available for pickup.
This commit will clear those parameters.
Signed-off-by: Kathy Lussier <kmlussier@masslnc.org> Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Mon, 11 Jun 2012 19:23:17 +0000 (15:23 -0400)]
Cache propagated funds in fund rollover action
Repair display of propagated funds grid which was likely broken with b9bb6d47. Propagated funds must be collected and added to the local
cache for grid getter functions to find them.
To make back buttons less likely to show sensitive info.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Michael Peters <mrpeters@library.in.gov> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Jeff Godin [Wed, 11 Jul 2012 15:54:34 +0000 (11:54 -0400)]
Fix titles/tabs in Account Preferences subpages
Adjust the value of myopac_page in the Notification Preferences and
Search Preferences pages so that the page title and tab
color/hilight will be correct.
Signed-off-by: Jeff Godin <jgodin@tadl.org> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Dan Scott <dan@coffeecode.net>
Dan Scott [Fri, 15 Jun 2012 17:25:29 +0000 (13:25 -0400)]
TPAC: Handle multiple matches for an XPath expression
Per LP 1009980, "If a record has multiple subfield b's in the 260 field,
tpac will not display the publisher or publication date in the record
details page and will not display the publisher on the search results
page".
This is because we're calling textContent on a nodeset, rather than an
individual node, and therefore get null back rather than any content.
To avoid this, always expect a nodeset and iterate over it to populate a
list of the strings. To maintain the same semantics of expecting a
single text string back for, say, args.pubdate, we define the list as
args.pubdates (plural name), and then grab the first item from the list
and populate that as args.pubdate (singular name).
Signed-off-by: Dan Scott <dan@coffeecode.net> Signed-off-by: Ben Shum <bshum@biblio.org>
Bob Wicksall [Fri, 29 Jun 2012 18:33:22 +0000 (14:33 -0400)]
TPac: Add paging to My Lists
- Added paging to My Lists based on the code from the Checkout History tab.
- Fixed a bug where adding more than 10 items to the Temporary list failed
- After adding paging renaming a list on page 2+ would fail. Fixed.
- Redirect after saving a list now leaves you on the same page
- Paging was bleeding between My Lists, Holds History and Circ History.
Fixed.
List contents were also limited to the first 10. I have upped the limit to
1000 rather than having nested paging. This should be revisited.
CSV download of lists is still limited to the first 10. Not sure where to
fix this.
Signed-off-by: Bob Wicksall <bwicksall@pls-net.org> Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>