Rick Scott [Wed, 6 Feb 2013 18:44:03 +0000 (13:44 -0500)]
Use relative URLs for 'old catalogue' link.
Change the 'old catalogue' links to use relative instead of absolute URLs.
This way, clicking them on a test site (eg algoma-test.concat.ca) keeps you
on that site instead of sending you to prod.
Signed-off-by: Rick Scott <rick@shadowspar.dyndns.org>
Rick Scott [Thu, 30 Aug 2012 20:13:25 +0000 (16:13 -0400)]
Clean up and re-style AlgomaU's OPAC templates.
In addition to adding the same graphical header so that the OPAC
more closely resembles the new Wishart website, this change
incorporates several smaller fixes:
* replace the AlgomaU "small university/big education" logo
with the small AlgomaU wordmark
* center the logo via CSS, not <center>
* fix vertical centering of the "your account log in" text --
needs margins only left & right, not on all 4 sides
* replace border on the user/pass input boxen so that they
are visible once again.
Signed-off-by: Rick Scott <rick@shadowspar.dyndns.org>
Dan Scott [Thu, 30 Aug 2012 14:48:32 +0000 (10:48 -0400)]
Add an ou_host_name parameter for TPAC login forms
If set, and the incoming username does not already include an '@' symbol
(a very simple attempt to detect if we're already dealing with an email
address), then append '@' + the ou_host_name value to the username for
authentication purposes.
The rationale is that in a large consortium, you might want to enable
users to log in with short usernames (like 'fred'), but you also want to
avoid conflicts between short usernames at different organizational
units. Thus, create the users with the email equivalent of their
usernames, like 'fred@br1.example.com' and 'fred@br4.example.com', and
let the templates for the TPAC in br1 and br4 contain a hidden input
field to append the appropriate email hostname.
Truth be told, this is probably most appropriate for a large consortium
containing two or more academic institutions that hope to use LDAP
authentication rather than native authentication, and therefore have
LDAP CNs that map to email addresses of CN@hostname that can then be
mapped to actor.usr.usrname (and actor.usr.email, of course).
Dan Scott [Mon, 27 Aug 2012 22:38:51 +0000 (18:38 -0400)]
Very rough LDAP authentication enablement for OSUL
Currently requires that the user enters their email address at the
username prompt; we then just use the local-part of the email address to
authenticate against the LDAP server.
In the VirtualHost sections of Apache, we can use SetEnv to force the
physical_loc to match the org unit ID(s) specified in opensrf.xml; for
example:
Dan Scott [Mon, 27 Aug 2012 22:38:51 +0000 (18:38 -0400)]
Very rough LDAP authentication enablement for OSUL
Currently requires that the user enters their email address at the
username prompt; we then just use the local-part of the email address to
authenticate against the LDAP server.
In the VirtualHost sections of Apache, we can use SetEnv to force the
physical_loc to match the org unit ID(s) specified in opensrf.xml; for
example:
Art Rhyno [Thu, 23 Aug 2012 01:37:36 +0000 (21:37 -0400)]
Make SHSys in Authority Fixed Fields available to edit and save
This field is missing from FixedFields.js and doesn't seem to be
active in the MARC editor. The position of it is identified as
"Subj". I moved "Subj" to replace "SubjUse" since "Subj" is
mapped in marcedit.xul. This seems to put the fields in sync.
Signed-off-by: Art Rhyno <art632000@yahoo.ca> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Jason Stephenson [Thu, 26 Jul 2012 17:45:06 +0000 (13:45 -0400)]
Make the ContainerCSV reactor output more than 10 records.
Call AppUtils->bib_container_items_via_search with an args hashref
that hard codes the search limit to 1,000 records instead of using
the biblio.multiclass search default of 10.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Dan Scott <dscott@laurentian.ca>
Steven Chan [Wed, 25 Jul 2012 23:12:19 +0000 (16:12 -0700)]
Fix LP949249, Edit, then Create button creates a new item in all cases
This fix also resolves the following:
* https://bugs.launchpad.net/evergreen/+bug/806585,
Item Attributes saved on Close
* https://bugs.launchpad.net/evergreen/+bug/644753,
check for duplicate barcode during a create session in copy/volume editor
1. The Copy Editor screen is launched from the Volume Copy Creator,
which is launched from the Holdings Maintenance screen. If the default
interface is set, CE is shown in a separate window; if the 'unified'
interface is set, CE is embedded in the same window as VCC. Upon the
user clicking Save or Close in the Copy Editor, the intent is to create
a new item record or not, respectively. However, it happens that a new
record is always created, because VCC instructs CE to let VCC update the
item, which will occur whether the user has clicked either button.
To fix 1, if the default interface is set, we reconfigure CE to update
the item or not, depending on the button clicked; otherwise, in the
unified interface, we allow VCC to update the item or not.
2. Upon updating the item, if the barcode is a duplicate, the ensuing
sequence of events is problematic: a database-level alert message is
shown, Copy Editor is closed, and Volume Copy Creator is closed, thus
forcing the user to re-formulate the request from Holdings Maintenance.
To fix 2, we show a higher-level alert message to the user. If the
default interface is set, we stay within CE, reconfigure the barcode to
be an input field, and focus the user on it; otherwise, in the unified
interface, we return the user to an area of the screen where the barcode
field is available. In either case, the user can re-enter a barcode
value and re-submit without losing any values previously entered into CE.
3. We also take the opportunity to enhance the coding performance of
Copy Editor, by delegating the handling of the button and key clicks to
the parent groupbox element. Previously, the event handler was attached
to several child elements, which is not performant.
And adjust the comment to make more sense. There is no higher level filter
that prevents copy holds on parted items, so there is no filter for them to
"slip through".
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Michael Peters [Thu, 15 Mar 2012 13:49:06 +0000 (09:49 -0400)]
TTPAC image directory cleanup
There are a significant number of images remaining in TTPAC
that are no longer used, leftover from KCLS, etc.
This branch does a little cleanup on the image directory
and nets us about a 200KB savings overall.
Signed-off-by: Michael Peters <mrpeters@library.in.gov> Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Also, we disable the checkbox if there is no email address on file.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Ben Shum <bshum@biblio.org> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Conflicts:
Open-ILS/src/templates/opac/parts/place_hold.tt2
Dan Scott [Tue, 21 Aug 2012 21:23:26 +0000 (17:23 -0400)]
Protect against installs with no locales
Installs from source outside of tarballs may not have a built locale,
which would result in a make error and an aborted install. Protect
against that by checking for the existence of the locale install
directory before trying to copy the files into place.
In the weird case that Open-ILS/src/data/locale has been generated but
there are no files in it, protect against erroring out via the judicious
application of the - flag.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Conflicts:
Open-ILS/src/Makefile.am
Dan Scott [Mon, 20 Aug 2012 18:11:50 +0000 (14:11 -0400)]
TPAC: Standardize i18n file installation
Make TPAC i18n files act like any other i18n file. In short:
1. When in build/i18n, a 'make LOCALE=fr-CA install' will copy
the i18n file into the Open-ILS/src/data/locale directory.
2. In the build root, a 'make install' will copy all files from
Open-ILS/src/data/locale into (by default) the
/openils/var/data/locale directory.
This also means that when tarballs are created, all of the locales will
get packaged appropriately.
This commit also updates eg_vhost.conf to provide working out-of-the-box
examples for any installed locales, by using the names of the actual
PO files, and adds some contextual comments to explain how the
configuration directives work.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Conflicts:
Open-ILS/examples/apache/eg_vhost.conf
Open-ILS/src/Makefile.am
Bill Erickson [Fri, 17 Aug 2012 21:15:25 +0000 (17:15 -0400)]
ACQ return-to-[search/invoice] buttons repair
With changes in place to support newer version of xulrunner, several
buttons no longer work in the staff client. These include:
Return to Search in PO and Selection List pages
Return to Invoice in PO and Selection List pages
Return in lineitem worksheet page
This fix avoids using document.referrer (which is no longer available)
with an explicit 'source' CGI parameter, which contains the path and
params of the source page.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Thu, 16 Aug 2012 19:40:58 +0000 (15:40 -0400)]
Sanity check cstore limit/offset param values
Certain cstore calls (direct / json_query) that support limit/offset
params called with a non-string / non-numeric value
e.g. { "limit": null }
result in a cstore segfault as it tries to call atoi(NULL) under the
covers. This patch prevents this by verifying that the limit/offset
values are actual strings or numbers (i.e. return a value from
jsonObjectGetString) and not JSON_NULL, etc.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Thu, 16 Aug 2012 19:40:58 +0000 (15:40 -0400)]
Sanity check cstore limit/offset param values
Certain cstore calls (direct / json_query) that support limit/offset
params called with a non-string / non-numeric value
e.g. { "limit": null }
result in a cstore segfault as it tries to call atoi(NULL) under the
covers. This patch prevents this by verifying that the limit/offset
values are actual strings or numbers (i.e. return a value from
jsonObjectGetString) and not JSON_NULL, etc.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Scott [Mon, 30 Jul 2012 15:30:50 +0000 (11:30 -0400)]
TPAC: Autosuggest focus() throws a JS error
On page load, the Dojo autosuggest code tries to set focus to the
element with the ID "search_box" - which is fine, except when the page
does not have said ID. Therefore, test for the existence of the ID
before setting focus to it.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Art Rhyno <art632000@yahoo.ca>
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.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Art Rhyno <art632000@yahoo.ca>
Mike Rylander [Thu, 16 Aug 2012 17:45:23 +0000 (13:45 -0400)]
Provide permission for copy editor field hiding
We can adjust what fields are available in the copy editor in 2.2+, but that
requires the general UPDATE_ORG_SETTING permission. The YAOUS-specific
permission here allows more granular control, so that staff can be given the
ability to adjust only that one OU setting.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
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!)
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Art Rhyno <art632000@yahoo.ca>
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.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
Trying to update patron CSS color fails here, so don't try
After modifying user standing penalties ("messages" in the staff client
patron interface), you could get this error message in an alert() dialog:
TypeError: patron.display is undefined.
We were apparently trying to use patron.util.set_patron_css() wrongly,
so the commented out changed verison of the call got farther, but stopped at
...penalties[i].standing_penalty().name is not a function.
Which probably has something to do with unfleshed data. Somebody can
get to the bottom of this if they want, but for now it's easier just not
to try to do this and make the alert() dialog go away.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Sometimes it seems that child_init has not run properly for supercat.
This attempts to fix that by checking for the global appsession objects. If
they are not there we run child_init. The function that does this is being
called from all handler entry functions.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Trying to update patron CSS color fails here, so don't try
After modifying user standing penalties ("messages" in the staff client
patron interface), you could get this error message in an alert() dialog:
TypeError: patron.display is undefined.
We were apparently trying to use patron.util.set_patron_css() wrongly,
so the commented out changed verison of the call got farther, but stopped at
...penalties[i].standing_penalty().name is not a function.
Which probably has something to do with unfleshed data. Somebody can
get to the bottom of this if they want, but for now it's easier just not
to try to do this and make the alert() dialog go away.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Sometimes it seems that child_init has not run properly for supercat.
This attempts to fix that by checking for the global appsession objects. If
they are not there we run child_init. The function that does this is being
called from all handler entry functions.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Trying to update patron CSS color fails here, so don't try
After modifying user standing penalties ("messages" in the staff client
patron interface), you could get this error message in an alert() dialog:
TypeError: patron.display is undefined.
We were apparently trying to use patron.util.set_patron_css() wrongly,
so the commented out changed verison of the call got farther, but stopped at
...penalties[i].standing_penalty().name is not a function.
Which probably has something to do with unfleshed data. Somebody can
get to the bottom of this if they want, but for now it's easier just not
to try to do this and make the alert() dialog go away.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Sometimes it seems that child_init has not run properly for supercat.
This attempts to fix that by checking for the global appsession objects. If
they are not there we run child_init. The function that does this is being
called from all handler entry functions.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Bill Erickson <berick@esilibrary.com>
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.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Bill Erickson <berick@esilibrary.com>
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.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Scott [Wed, 15 Aug 2012 13:16:23 +0000 (09:16 -0400)]
TPAC: Remove noise, misleading text from myopac/holds/circs/circ_history
There are many "class='hide_me'" elements that will never be displayed
and which are currently just extra bits to ship over the wire. Same for
the inline comments.
Also move most of the inline styles out to the stylesheet.
Also remove the explicit widths on the table cells; if the font size
changes or the translated text is wider than the table cells, then the
display will become comical.
Also remove explicit <br> tags from localized strings; given the
likelihood that font sizes and column widths will change, <br> tags
inside localized strings make very little sense.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Conflicts:
Open-ILS/src/templates/opac/css/style.css.tt2
Dan Scott [Wed, 15 Aug 2012 13:16:23 +0000 (09:16 -0400)]
TPAC: Remove noise, misleading text from myopac/holds/circs/circ_history
There are many "class='hide_me'" elements that will never be displayed
and which are currently just extra bits to ship over the wire. Same for
the inline comments.
Also move most of the inline styles out to the stylesheet.
Also remove the explicit widths on the table cells; if the font size
changes or the translated text is wider than the table cells, then the
display will become comical.
Also remove explicit <br> tags from localized strings; given the
likelihood that font sizes and column widths will change, <br> tags
inside localized strings make very little sense.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Conflicts:
Open-ILS/src/templates/opac/css/style.css.tt2
Dan Scott [Wed, 15 Aug 2012 11:18:53 +0000 (07:18 -0400)]
TPAC: Move "Export to RefWorks" into utility area
When the RefWorks functionality was being added to TPAC, the design and
layout were very much in flux. Now that the layout has been established
with utilities like "Place Hold" on the right hand side, move the
"Export to RefWorks" button into the same location.