Dan Scott [Mon, 13 Aug 2012 16:32:26 +0000 (12:32 -0400)]
TPAC: Centralize font size definitions
The TPAC CSS had a mix of absolute and proportional font size
definitions, making it impossible to define a single base size and have
the layout adjust appropriately, as well as making it difficult to tweak
sizes to, say, eliminate the distinction between 11px and 12px text.
Accordingly, create a separate TT2 file to define standard font sizes,
define one base font size, and then use proportional percentage-based
size definitions for a set of standard font sizes. This way, a site
could easily adjust the base font size to 15px and the rest of the
layout should automatically adjust, and/or revert to using absolute font
sizes for different categories if they prefer.
Note that I did simplify some of the categories of font sizes, as the
distinction between 111% and 110% was probably not evident to most
humans at most font sizes, and even the distinction between 120% and
125% would be 14.4px vs. 15px given a base size of 12px - which
different user agents could render differently anyway.
Art Rhyno [Mon, 13 Aug 2012 21:22:17 +0000 (17:22 -0400)]
TPAC: Make "Show more details" in results optional
Academic sites typically handle a lot of electronic content and want to
bring most details about entries, such as availability, status, and
URLs, on a results screen to the front.
This adds a 'show_more_details.default' option in 'config.tt2' that can
have the values 'true', 'false' and 'hide'. The 'true' and 'false'
values set the default for the button to more and less respectively, and
'hide' suppresses the button from showing at all.
Signed-off-by: Art Rhyno <art632000@yahoo.ca> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Ben Shum [Sun, 12 Aug 2012 07:25:49 +0000 (03:25 -0400)]
TPAC - add library scoping to shelf browser
The shelf browser currently uses the 'loc' variable to define scoping and
limit browsing to specific org units. However, since much of the scoping
actually uses 'locg', the scoping was broken for the shelf browser.
Additionally, under Advanced Search's Numeric Search, the option for
'Call Number (Shelf Browse)' only applies the 'cn' variable to searches
and never adds the search scope, despite the search library now being
an available filter choice.
Based on suggestion by Dan Scott in IRC, this patch uses the function for
_get_search_lib() to retrieve the search library and add it to both parts
of the shelf browser.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Mon, 13 Aug 2012 19:51:35 +0000 (15:51 -0400)]
TPAC: AutoSuggest throws a JS error on login form
searchbar.tt2 includes a reference to the AutoSuggest widget that
results in an error if the dojo code has not been required, which is
par for the course. However, on the login form we disabled the
AutoSuggest inline code because we didn't want it to override the
autofocus for the login user name; unfortunately, the searchbar exists
on the login form, and a JS error is thrown. On most browsers, not a
problem, but on IE it throws up a nasty dialog if you have the
right/wrong settings.
The simplest way to resolve this is to not set autofocus if we're not on
the basic_search page, but keep the rest of the AutoSuggest code
around.
In addition, we can avoid some other undefined var warnings by stepping
carefully through the search for the dijit value.
Dan Scott [Mon, 13 Aug 2012 17:53:22 +0000 (13:53 -0400)]
TPAC: Give login boxes a border
For some reason, the boxes for the login form were stripped of
their default border style. Let the natural input box formatting for the
border shine through and give users an easier target when logging in.
Dan Scott [Mon, 13 Aug 2012 17:53:22 +0000 (13:53 -0400)]
TPAC: Give login boxes a border
For some reason, the boxes for the login form were stripped of
their default border style. Let the natural input box formatting for the
border shine through and give users an easier target when logging in.
Jason Stephenson [Wed, 25 Jul 2012 17:43:38 +0000 (13:43 -0400)]
Make opac/results.tt2 remember facet when sorting, etc.
Add a hidden field in the search form and set its value to the value
of the CGI 'facet' param if the facet parameter is set. This appears
to work for multiple facets. Clearing a facet is as simple as clicking
on the gray-backgounded facet name.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Ben Shum [Thu, 9 Aug 2012 16:27:57 +0000 (12:27 -0400)]
TPAC - fix alignment of "You are now browsing..." in shelf browser
The "You are now browsing..." message does not align to the center of the
page. Changing the <div> to a <p> seems to properly align the text.
Along the way, we should remove the extra <span> and <strong> (the strong
is redundant with the css being inherited by color_4 class) and make the
new single line message more i18n-friendly for future translations.
Credit to Michael Peters for noticing the problem and thanks to Dan Scott,
Lebbeous Fogle-Weekley, and Thomas Berezansky for help via IRC for the
i18n-bits.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Michael Peters <mrpeters@library.in.gov> Signed-off-by: Dan Scott <dscott@laurentian.ca>
The cnoffset was strictly checking for values that start with a digit.
But negative numbers start with a "-" instead. Once this check was
changed, the previous link will continue to move further into negative
offsets.
Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Dan Scott [Thu, 9 Aug 2012 22:25:00 +0000 (18:25 -0400)]
Authorities: Fix broken UI due to new XUL/Dojo/regressions
New versions of XUL, since Firefox 10, hate dojo.query("foo bar"), so we
have to refactor it to use dojo.query("foo").query("bar") instead. At
least until we upgrade to a new version of Dojo.
In addition, 522d8d82 introduced a regression meaning that the text of
the authorities was no longer wrapped in a SPAN element with a class of
"text". That in turn meant that the Dojo queries weren't picking up the
labels for the merge box, leaving no visual indication to the user as to
what authorities exactly were being merged. So, repair that.
Also, similar to a fix for the MFHD editor, set the initial height of
the spawned MARC Editor for an authority record to something reasonable.
Dan Scott [Thu, 9 Aug 2012 20:31:44 +0000 (16:31 -0400)]
Set a sane initial MFHD Editor size
For most MFHD records, the size of the MARC Editor window when spawned
fits into the confines of a normal desktop. However, for MFHD records
with dozens or more rows, the window chrome can be inaccessible because
it is bumped off the top of the Windows desktop. This makes it
impossible for users to close the window without a workaround like
hitting ALT+F4
This branch sets the window to an initial height of 40 pixels less than
the height of the entire staff client window. This should be enough to
enable the chrome on top to be visible. In addition, we have to set the
width to something reasonable because XUL seems to otherwise set the
window to be extremely skinny once an explicit height is set, so we set
that to be half the width of the staff client window.
Finally, we allow the new window to be resizable according to the user's
preference.
Dan Scott [Wed, 8 Aug 2012 19:08:24 +0000 (15:08 -0400)]
TPAC: Reset Form and New Search should clear queries
Currently, clicking "Another Search" in the search results page, or
"Reset Form" on the advanced search page, keeps the same query terms and
type around. Clear these parameters as expected; essentially, we keep
only the search location (loc or locg) in scope.
Note that we explicitly keep parameters around when someone is going
from a basic search to an advanced search, because the assumption is
that they want to refine their search further.
Also affected are the org_selector, because we want to pull the logic
for loc or locg out into a common area (the get_library block in
misc_util.tt2), and the style (input.opac-button elements now get styled
the same as a.opac-button elements, which makes it easier to intermingle
them on the same form).
Dan Scott [Thu, 8 Sep 2011 21:26:58 +0000 (17:26 -0400)]
Add an API for generating barcodes
Add a custom API to open-ils.actor for generating barcodes; accepts one
argument, user ID, which gets the barcode set to their new value. If no
arg is passed, just generates a new barcode and returns it (should be
useful on the patron editor screen).
Dan Scott [Mon, 16 Jul 2012 17:27:54 +0000 (13:27 -0400)]
Hide OPAC-invisible holdings from SRU/Z39.50
The basic_holdings Supercat method filtered out deleted call numbers and
copies, but didn't filter out copies based on the OPAC visibility status
of copy location / status / the copy itself. This has undesired results
when third-party services request copies via SRU or Z39.50 and expose
copies that should not be visible to the public.
We wrap all of the visibility and deletedness checks for a given copy up
into a subroutine so that we can avoid repeating ourselves in the
basic_holdings logic. Also, if we missed a test, we can add it in one
handy place :)
(Thanks to Galen Charlton for finding two missing tests: circ lib
visibility and owning lib visibility!)
Dan Scott [Tue, 7 Aug 2012 20:39:37 +0000 (16:39 -0400)]
Allow some buttons in Import via Z39.50 to wrap lines
Some of our technicians with 4:3 ratio monitors and a reasonable
font-size are unable to see the "Import Record" button on the Import via
Z39.50 screen, because the buttons in that row are laid out in a single,
non-wrapping row, and there is no affordance for scrolling over to the
side.
Simply changing the containing "hbox" element to a "description" element
allows enough of the buttons to overflow to resolve the problem in our
experience.
Dan Scott [Sat, 4 Aug 2012 15:24:15 +0000 (11:24 -0400)]
TPAC: Remove explicit width on "View my list" button
.cached_list_div, which defines the style for the "View my list" button
on the TPAC button bar once an item has been added to a temporary list,
is given an explicit width of 111px, which is problematic for a number
of reasons:
1. If the font-size of the base style is increased, then the text will
likely wrap.
2. Translations tend to be longer than English, and indeed in fr-CA
"Afficher ma liste" ends up wrapping onto a second line, which makes
the button bar look weird.
Accordingly, remove the explicit "width:111px" from the style definition
for .cached_list_div.
Dan Scott [Sat, 4 Aug 2012 15:04:17 +0000 (11:04 -0400)]
Silence warnings in search results for holdable copies
Have not yet determined the exact reason the holdable copies size is not
defined in some instances in the search results only, but this commit
prevents warnings from being spewed by apache about undefined variables.
Dan Scott [Sat, 4 Aug 2012 14:26:25 +0000 (10:26 -0400)]
TPAC locale picker: use POST instead of GET
Users could (deliberately or not) change another's language
preferences by sharing links with the "set_eg_locale" GET param given
the locale picker's current behaviour. By switching to a POST param, we
prevent this result from accidentally occurring.
Dan Scott [Sat, 4 Aug 2012 14:10:48 +0000 (10:10 -0400)]
TPAC: Add the ability to set a different default locale
Installations with multiple sites might desire different default locales
for their skins. This adds the Apache config directive
"OILSWebDefaultLocale", which enables you to set the default locale on a
global and a per-skin basis.
Note that this prevents the browser Accept-language header from having
any effect; sadly that header is not often used in real life.
Dan Scott [Fri, 3 Aug 2012 14:59:33 +0000 (10:59 -0400)]
Add dependencies for Fedora
Noted by Net Wolf on the mailing list, some core dependencies were
missing from the Fedora Makefile.install installer. As some of them have
recently been packaged for Fedora 17, add them to the package
collection; others are still unpackaged, so leave them there.
Note: the packages are not available on Fedora 16, but that has a
limited remaining shelf life anyway, so consider this a shift to
supporting only the latest stable version of Fedora.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Scott [Fri, 3 Aug 2012 14:59:33 +0000 (10:59 -0400)]
Add dependencies for Fedora
Noted by Net Wolf on the mailing list, some core dependencies were
missing from the Fedora Makefile.install installer. As some of them have
recently been packaged for Fedora 17, add them to the package
collection; others are still unpackaged, so leave them there.
Note: the packages are not available on Fedora 16, but that has a
limited remaining shelf life anyway, so consider this a shift to
supporting only the latest stable version of Fedora.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Thu, 2 Aug 2012 16:09:42 +0000 (12:09 -0400)]
Add simple README to RELEASE_NOTE_NEXT
Without something in the directory, it will dissappear each time we
create release notes from the contents and delete them, since Git
removes empty directories. That would likely just lead to confusion.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Thu, 2 Aug 2012 16:09:42 +0000 (12:09 -0400)]
Add simple README to RELEASE_NOTE_NEXT
Without something in the directory, it will dissappear each time we
create release notes from the contents and delete them, since Git
removes empty directories. That would likely just lead to confusion.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
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).
Signed-off-by: Jeff Godin <jgodin@tadl.org> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Bill Erickson [Thu, 31 May 2012 13:27:40 +0000 (09:27 -0400)]
Search filter groups release notes
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Bill Erickson [Thu, 31 May 2012 13:37:58 +0000 (09:37 -0400)]
Search filter groups admin UI staff menu entry
Admin -> Local Administration -> Search Filter Groups
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Bill Erickson [Fri, 25 May 2012 13:22:36 +0000 (09:22 -0400)]
Search filter groups admin UI / API
UI for managing search filter groups and group entries.
This inclues a new API call for performing CRUD actions on filter
group entries:
open-ils.actor.filter_group_entry.crud
This new API call was necessary because entries link to
actor.search_query's, whose write access cannot be controled by pcrud.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Art Rhyno [Fri, 27 Jul 2012 15:39:14 +0000 (11:39 -0400)]
Block "Place Hold" link in TPAC if item is available
Suppress the display of the "Place Hold" link based on whether an item
is available. This is set as a preference in config.tt2. Some sites
may want the ability to place holds regardless of availability.
Signed-off-by: Art Rhyno <art632000@yahoo.ca> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Conflicts:
Open-ILS/src/templates/opac/parts/record/summary.tt2
Open-ILS/src/templates/opac/parts/result/table.tt2
Allow for temporary, staff, and permanent operator changes.
Temporary uses a temp authtoken for a few minute timeout.
Staff uses a normal staff login authtoken for a multi-hour timeout.
Permanent is a staff change that disregards the previous login instead of
allowing it to be recovered by using the menu item again.
I also fixed things up so later timeouts can re-use the previous duration
and fixed up some title bar issues:
1 - Login screen shows version again (needed a document in the title set)
2 - Menu windows don't forget the server name
3 - Menu windows keep the same number for their lifetime
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Bill Erickson <berick@esilibrary.com>
This converts the util/window.js open function to a wrapper around the
openDialog function and passes xulG in that way, as well as teaches
global_util.js to look for it having been passed in via the arguments
parameter on window.
The non-modal "push it into place" is still done as well, in case some
window isn't using global_util.js and needs xulG.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Fri, 27 Jul 2012 16:11:23 +0000 (12:11 -0400)]
EDI ORDER template, now with copies
Adds a new "copies" structure to the stock JEDI ORDER template. Copies
are ultimately mapped into one or more GIR segments in the outbound EDI.
This commit only adds the change to the stock template (seed data). It
also adds entries to the environment for the stock template and existing
template 23 via upgrade script (to expedite local template editing).
With the current template, GIR segments look like so:
Bill Erickson [Thu, 12 Apr 2012 15:44:44 +0000 (11:44 -0400)]
Collections user balance API / batch file output
New API open-ils.collections.user_balance_summary.generate,
which generates summary information on patron balance owed for all open
transactions that occurred at the requested location. Optional flag
supports including per-xact summary information as well. The summary
information is written to an XML file and placed in a protected, shared
web directory for download after the file has been generated.
During creation, the output file will have a .tmp suffix, allowing
clients to poll for file completion.
Includes a new opensrf.xml app_setting for open-ils.collections to
specifiy the batch file directory as well as a sample Apache config in
eg_vhost.conf
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Thu, 12 Apr 2012 15:07:10 +0000 (11:07 -0400)]
Fieldmapper toXML repairs and additions
1. Be sure the append the current element to the document in progress
2. Use the class hint instead of the fully qualified class_name (e.g.
Fielmapper::actor::user) to avoid XML errors:
namespace error : Failed to parse QName 'Fieldmapper:'
3. Added support for additional options including "no_virt" which tells
the routine to skip all virtual fields and "skip_fields" to support
leaving specific fields out of the output. The main use case for skip
fields is au => ['passwd'], but other examples might include large
fields like bre => ['marc'].
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Wed, 1 Aug 2012 17:54:00 +0000 (13:54 -0400)]
ACQ unified search submit on enter (for real)
This replaces the old-style submit on enter handler which was based
attaching key handlers to the dijit domNode, which does not work for
filtering selects (i.e. more complicated dijits) w/ the dijit-sanctioned
dojo.connect(..., 'onkeyup', ...), which works regardless. This also
covers more form input elements which were overlooked with the original
submit-on-enter code.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Thu, 12 Jul 2012 19:26:50 +0000 (15:26 -0400)]
ACQ invoice formatting improvements
Prevent # invoiced and # paid inputs from wrapping. Also, make the text
boxes a little smaller to reduce horizontal space requirements. It's
still possible to enter any value, but only the 4 least significant
digits are visible. Since it's not common to invoice 10k+ copies of the
same item, this seems like a fair trade off.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Tue, 10 Jul 2012 15:07:53 +0000 (11:07 -0400)]
ACQ invoice inline lineitem search and add
The Invoice UI is how composed of two tabs, the main invoice tab and a new
Search tab. The search tab consists of a subset of the Acquisitions unified
search interface. The goal is to allow users to search for lineitems to
invoice. Search results may be added directly to the growing invoice. A
number of small usability features are included.
Features
~~~~~~~~
* Option (default) to limit searches to invoiceable items.
** These are lineitems that are not cancelled, have at least one
invoiceable copy, linked to a PO whose provider matches that of the
current invoice, and are not already linked to the current invoice.
* Search defaults to last-run search (on workstation).
* New Lineitem Detail filter options
* Sort searches by lineitem number (default) and title.
* There is a new Expected Cost field which includes both the total invoiced
cost plus the anticipated cost of lineitems as they are added.
* New Price per Copy field
* Lineitem count field
* Show / Hide Invoice details button. Details are displayed by default, but
hidden when the user enters the search tab. From there it remains hidden
until manually shown (or a new invoice is opened).
* A new "Save & Clear" button which saves the current invoice then clears
the invoice display to create a new invoice.
* Provider, shipper, and receiver fields are auto-populated from the
first-added invoice data (when not already set).
* Totals are now read-only, since they are derived from existing data (and
are informational only).
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>