Lebbeous Fogle-Weekley [Thu, 26 Jan 2012 19:00:54 +0000 (14:00 -0500)]
more silly perfectionism; disregard (storeArgs -> store_args)
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Thu, 26 Jan 2012 16:35:53 +0000 (11:35 -0500)]
Don't index "All Subjects" (the subject|complete field) for browse/suggest
It's redundant. Credit Miker.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Thu, 26 Jan 2012 15:44:37 +0000 (10:44 -0500)]
JSPAC: Only dojo.require() the autosuggest stuff if we need it
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Wed, 25 Jan 2012 21:11:57 +0000 (16:11 -0500)]
Per miker, saving the call to TS_HEADLINE for an outer select, after...
... we've done our core search and limited to a low number of results,
should be much faster (with big data sets anyway).
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Wed, 25 Jan 2012 19:47:03 +0000 (14:47 -0500)]
Code re-org and more commentary. Easier to instantiate an autosuggest widget.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Wed, 25 Jan 2012 18:03:43 +0000 (13:03 -0500)]
1) Make ts_rank_cd()'s normalization option controllable from UI level,
2) add some comments here and there about such options that you can
control through AutoSuggestStore
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Tue, 24 Jan 2012 22:53:34 +0000 (17:53 -0500)]
resync database upgrade script with baseline schema.
They should both give you the same thing again.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Tue, 24 Jan 2012 22:36:34 +0000 (17:36 -0500)]
more efficient limit; don't autosuggest deleted bibs; use keyword config
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Tue, 24 Jan 2012 21:47:37 +0000 (16:47 -0500)]
Save unicode characters when populating metabib.browse_entry
Using a perl-based regexp string splitter instead of the built-in one
means that we can get correct suggestions when we type "José"
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Tue, 24 Jan 2012 16:46:04 +0000 (11:46 -0500)]
A few small bugfixes, improvements:
* support for short_word_length argument in AutoSuggest.pm
(corresponds to ShortWord option to ts_headline)
* better commentary in AutoSuggest.pm
* AutoSuggestStore now will use highlight_min, highlight_max, and
short_word_length if provided
* global flag-checking code for AutoSuggest enable/disable now
working
* fix an upgrade script bug (swapping label and name on the global flag)
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Mon, 23 Jan 2012 21:57:25 +0000 (16:57 -0500)]
1) global flag for autosuggest on/off, opac-visiblity 2) don't hardcode as style
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Mon, 23 Jan 2012 18:09:47 +0000 (13:09 -0500)]
subtleties, one in UI and one in DB
- take the width attribute of style from the plain HTML input control
and apply it to the autosuggest dijit
- oils_tsearch2('keyword'), not 'default'
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Fri, 20 Jan 2012 23:28:50 +0000 (18:28 -0500)]
Amazingly, only one weird bug broke IE8, and now it's worked around
It's a stupid one though (of course). See comments in code.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Fri, 20 Jan 2012 22:46:23 +0000 (17:46 -0500)]
org unit visibility testing
For now there's no user-friendly on/off switch. The way to turn it off
is not to put a "org_unit_getter" property in the storeArgs argument to
openils.widget.AutoSuggest's constructor.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Fri, 20 Jan 2012 22:06:03 +0000 (17:06 -0500)]
make a custom dijit that subclasses combobox and uses autosuggeststore
In theory you could now use markup based dojo declarations to turn a
given text input into an autosuggesting dijit. But we need to be able
to turn autosuggest on/off by a switch, and how would we make dojo
markup-based declarations respond to conditionals?
Incidentally, this commit does also take care of populating the value of
the search box after issuing a search.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Fri, 20 Jan 2012 21:04:49 +0000 (16:04 -0500)]
1) avoid stale data 2) fix backspace issue
more specifically:
1 - if a response from the server is not the response to the most
recent request issued by the AutoSuggestStore, don't use it
2 - when the search query is empty, empty the store (previously we
knew not to talk to the server but didn't empty the store)
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Thu, 19 Jan 2012 23:27:26 +0000 (18:27 -0500)]
fix broken enter/go for search form; also:
* apply class/field from selected suggestions to search_class
dropdown so it affects any resulting searches
* comments and code cleanup
still todo at this time:
* use selected search lib for opac visibility testing (optional)
* numerical range problem
* OU setting or other flag for autosuggest enable/disable
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Thu, 19 Jan 2012 21:50:19 +0000 (16:50 -0500)]
silly perfectionism. disregard.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Thu, 19 Jan 2012 21:30:23 +0000 (16:30 -0500)]
miker the wise squashes two bugs simply by ...
... switching from FilteringSelect to ComboBox
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Thu, 19 Jan 2012 21:13:31 +0000 (16:13 -0500)]
some changes since last time:
* IDL omission fixed
* shows class name/field in autosuggest popup
* filteringselect widget never shows invalid now
TODO
* fix Go button, which isn't working
* stop the widget from forcing selection to something in the list
* every thing in previous commit's todo list not otherwise covered
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Thu, 19 Jan 2012 19:14:00 +0000 (14:14 -0500)]
ui and other improvements. since last time:
* ditched standalone html test and integrated widget with the
homesearch page
* adjustments to ordering at db-stored-proc level courtesy of miker
(this MAY have solved a problem mentioned in the previous commit
msg where when the filteringselect's onBlur is called, the value
selected could change)
* the mod_perl module now returns JSON instead of XML if it's asked
to by an "Accept" HTTP header, and the AutoSuggestStore takes
advantage of this
* AutoSuggestStore actually uses the value in the search type
selector now
* the mod_perl module actually respects the limit parameter now
more still to come, including:
* use openils.Searcher or similar to display class and field in the
form "Topic (Subject)"
* tie in selected org unit to request visibility searching from the
UI layer
* still investigate and fix numerical range problem
* still overload validator to make it always return true
* OU setting or some other such flag to enable/disable autosuggest
UI bits in general
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Wed, 18 Jan 2012 23:18:20 +0000 (18:18 -0500)]
whoo! have a ui much of the way there based on dijit.form.FilteringSelect
not done though:
* still need elegant way to decode html entities, and should probably
just have the apache module return JSON so we don't have to
* need to get the widget to never try to validate
* need to load all cmf objects so we can do class|field in the label
instead of just id
* when you click on an entry that's not going to be the first
suggest result even when it is the exact search term you use,
the dijit changes your selection to whatever is the first result.
May need to override some dijit methods to overcome. Not sure yet.
* possibly something still wrong when dealing with numerical ranges
* more things I'm forgetting just now.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Tue, 17 Jan 2012 22:06:58 +0000 (17:06 -0500)]
fix db stored proc not to return record id; basic functioning ml
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Tue, 17 Jan 2012 17:00:52 +0000 (12:00 -0500)]
fix metabib.suggest_biblio_record_entry() (formerly metabib.browse_...):
- make limiting to search_class optional
- use bouyancy as intended
- new ordering logic
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Mike Rylander [Mon, 16 Jan 2012 16:46:39 +0000 (11:46 -0500)]
Upgrade script reified
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Mon, 16 Jan 2012 16:46:22 +0000 (11:46 -0500)]
Post-configured normalization for browse entry data
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Mon, 16 Jan 2012 16:45:21 +0000 (11:45 -0500)]
Move table up so it is created before used
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Lebbeous Fogle-Weekley [Mon, 16 Jan 2012 16:40:12 +0000 (11:40 -0500)]
in autosuggest.pm, this is how we prepare a suggest search string for tsquery
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Thu, 12 Jan 2012 22:56:24 +0000 (17:56 -0500)]
stored procedure for autosuggest
take:
query string, like 'foo' or 'foo & ba:*', ready for to_tsquery()
search_class (class|field|field...)
markup options for ts_headline()
optional org unit for opac visibility test
return:
record id
marked up matched value
metabib field where found
rank
search_class bouyancy
I think this is mainly Right, except for the ranking/sorting, which I will
revisit. But aside from sorting, the results of this function make
sense to me.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Tue, 20 Dec 2011 18:48:41 +0000 (13:48 -0500)]
remove some early testing cruft
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Tue, 20 Dec 2011 17:34:25 +0000 (12:34 -0500)]
bouyant, restrict added
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Tue, 20 Dec 2011 17:27:42 +0000 (12:27 -0500)]
IDL for browse_ fields on cmf
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Tue, 20 Dec 2011 17:22:25 +0000 (12:22 -0500)]
s/suggest_/browse_/g for consistency's sake
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Tue, 20 Dec 2011 17:18:40 +0000 (12:18 -0500)]
IDL for mbe and mbedm
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Tue, 20 Dec 2011 17:05:38 +0000 (12:05 -0500)]
fix a problem where we got too many mbedm rows
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Mon, 19 Dec 2011 22:34:10 +0000 (17:34 -0500)]
DB layer for autosuggest: seems to mostly work!
Would like Mike's review generally, and if nothing else, we probably
should exempty just a couple of fields from suggest_search = true?
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Lebbeous Fogle-Weekley [Mon, 12 Dec 2011 17:03:27 +0000 (12:03 -0500)]
mockup showing how to accomplish some of the ui/feedtemplate bits
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Wells [Fri, 20 Jan 2012 22:58:01 +0000 (17:58 -0500)]
Merge branch 'master' of git.evergreen-ils.org:Evergreen
Michael Peters [Fri, 20 Jan 2012 22:49:16 +0000 (17:49 -0500)]
Modifications to the TTPac color scheme to be more with logo guidelines
Tweaked the buttons, gradients, etc. in TTPac to eradicate the blue/grey elements.
Began with the Evergreen Logo's official color (Pantone 340 as found at http://www.georgialibraries.org/lib/pines/evergreenlogo/)
and complimented the colors accordingly, replacing dark blues with dark greens, light blues with light greens, etc.
This also adds two new selectors in styles.css to control the logo placement. Logos were also centered on the page, rather than being crowded
into neighboring elements.
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Fixed Conflicts:
Open-ILS/web/css/skin/default/opac/semiauto.css
Open-ILS/web/css/skin/default/opac/style.css
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Jason Etheridge [Mon, 9 Jan 2012 20:18:15 +0000 (15:18 -0500)]
Fix self-fetching callnumber columns
The callnumber (and related) columns from circ.util.columns() is meant to
retrieve call number objects if given call number id's instead of objects,
but there was a bug preventing that.
This fixes LP#906523, no call number information in billing interface
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
James Fournie [Wed, 7 Dec 2011 19:27:45 +0000 (11:27 -0800)]
Acq fix for LP#901378
Proratable invoice charges do not have a fund_debit, we need to check for
this before attempting to delete the charge. If there's no fund_debit
we can generally assume that there's no corresponding debit to this charge
and skip trying to delete it.
Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Fri, 20 Jan 2012 20:07:25 +0000 (15:07 -0500)]
Stamping upgrade for copy_location_alert
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Thomas Berezansky [Wed, 18 Jan 2012 16:28:13 +0000 (11:28 -0500)]
Add Checkin Alert to Copy Locations
If enabled bring up a ROUTE TO prompt for the location at reshelving time.
Also, while at it, add Prefix/Suffix to the "new" section of the editor.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Fri, 20 Jan 2012 19:58:05 +0000 (14:58 -0500)]
Remove RELEASE_NOTES reference from README
...pending further discussion
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Scott [Fri, 23 Dec 2011 17:57:37 +0000 (12:57 -0500)]
Release Notes: Add CC-BY-SA 3.0 license to footer
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Scott [Fri, 23 Dec 2011 17:55:34 +0000 (12:55 -0500)]
Release notes: document copy location display option
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Scott [Wed, 21 Dec 2011 16:56:55 +0000 (11:56 -0500)]
Release notes: document new reporting views
Introduce 'Last Circulation or Creation Date' and 'Hold/Copy Ratio per Bib
and Pickup Library' reporting sources.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Scott [Tue, 20 Dec 2011 16:54:30 +0000 (11:54 -0500)]
Move RELEASE_NOTES into the docs subdirectory
We will begin maintaining release notes inside the source directory,
with one RELEASE_NOTES.txt file per major release series (2.2, 2.3,
etc). The release notes will primarily consist of an overview of new
features and important behaviour changes in that particular release
series, as well as a cumulative list of bugs that have been fixed in the
point releases for that series.
Also, mention the existence of the release notes in the top-level
README.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Scott [Mon, 5 Dec 2011 18:56:36 +0000 (13:56 -0500)]
Release notes: "cbs prevents records from having copies"
The new "can_have_copies" column on config.bib_source prevents
associated records from having copies or MFHD records attached via the
staff client.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Scott [Tue, 29 Nov 2011 20:11:55 +0000 (15:11 -0500)]
Note located URI changes in Release Notes
Located URIs now define what org unit and below in the hierarchy will be
matched for a given search scope, rather than the copy-like behaviour
from before; for example, a located URI at BR1 will no longer be found
in a SYS1 search scope; rather, a located URI at SYS1 will be found with
either a SYS1 or a BR1 search scope.
Put some info and rough suggested fix into the release notes.
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Jason Etheridge [Wed, 11 Jan 2012 03:15:31 +0000 (22:15 -0500)]
Make Delete User failure overridable
Make mrpeter's new ACTOR_USER_DELETE_OPEN_XACTS event overridable to preserve
existing functionality (the delete user code will wipe out all transactions if
allowed to, and will leave copy statuses as "Checked Out" if needed, which is
okay in EG even if there aren't corresponding circ records--some libraries
migrate data like this if the information available is sparse).
So if you want to be able to do this without a super user, you'll need to create
an ACTOR_USER_DELETE_OPEN_XACTS.override perm and assign it to perm groups
and/or users.
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Jason Etheridge [Wed, 11 Jan 2012 02:54:37 +0000 (21:54 -0500)]
whitespace
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Michael Peters [Wed, 12 Oct 2011 15:46:12 +0000 (11:46 -0400)]
LP872862, delete user function and open xacts
Prevent deletion of a user with open circulations or unpaid bills
Link up an error message on attempt to delete a patron with open xacts
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Wells [Thu, 19 Jan 2012 19:05:15 +0000 (14:05 -0500)]
Prevent extra closing tag in TPAC results list
Trivial change to prevent an extra yet currently harmless </tr>
closing tag from appearing when ChiliFresh is enabled.
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Dan Scott [Mon, 9 Jan 2012 02:04:37 +0000 (21:04 -0500)]
TPAC: Regular justification of columns in search result
The search results page was constituted via a table, enclosing one table
per row for each result, enclosing one further table per result for the
attributes such as call number / publisher / edition that have been
chosen to be displayed in the simple and detailed views.
The column widths for each search result row were being calculated per
result, with the effect that title columns were starting at different
offsets - a rather unpolished effect.
By eliminating the middle table, we can let the widths be determined by
all of the search result rows together, providing a normalized result as
the HTML deities intended.
We also move some inline CSS into style.css.
Note that IE 7, at least, ignores the :nth-child() usage to deliver the
borders; because we no longer wrap the set of rows (including optional
Content Cafe and ChiliFresh rows) in an intermediate table, we had to
switch to a border-top attribute. We could have gone with a straight "tr
> td" approach, but that would have added a line at the top of the first
result, which looked weird. Still an option if one really wants to.
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Dan Scott [Sun, 8 Jan 2012 22:53:03 +0000 (17:53 -0500)]
TPAC: Simply record summary navigation markup
Currently we have the next / previous links on the far right side of the
record summary page, whereas the "Showing item # of #" is on the left
hand side of the page. On wide screens, this leads to a large gap
between the two informational elements. In addition, as the elements are
floated, the vertical alignment is thrown off if you attempt to bring
them together.
The solution is to group the elements inside a SPAN with inline-block
displays for the embedded DIVs. This enables the elements to reflow
appropriately on mobile sized screens while keeping the alignment clean.
In addition, some inline style gets moved to style.css and some
unnecessary elements are removed.
Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
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>