Security fix: Prevent login by deleted and barred users
An existing comment in the code suggested that we thought we were already
keeping barred users out. LP #1010671 brings up that deleted users were
not being kept out.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Revoking the UPDATE_MARC permission doesn't actually seem to prevent a
user from editing a record. Our use case is that we would like a user
to create new records but not edit existing MARC records.
Changing CREATE_MARC to UPDATE_MARC in OpenILS::Application::Cat's
biblio_record_replace_marc() method seems to fix the problem.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Mike Rylander [Fri, 8 Jun 2012 13:26:25 +0000 (09:26 -0400)]
Remove unsafe thesaurus/control-set mapping
Evergreen 2.2 and beyond includes new Authority Control Set functionality
intended to allow the definition of locally defined authority control
headings. The primary mechanism for determining which Control Set is used
by any given authority record is to look at the thesaurus fixed field
(mnemonic: Subj), which currently must be uniquely linked to a Control Set.
Failing that (in the case of no thesaurus code at all), there is a backup
mechanism: if the thesaurus value for the authority record is missing or not
used by any configured Control Set then Evergreen will look at the first Main
Entry (1xx) field in the record, and find a control set which uses this field.
This is, obviously, not perfect, but for non-overlapping authority field
schemes, it works very well.
However, the seed data for Evergreen currently includes the "no attempt to
code" value of "|" in the set of thesauri that point to the LoC Control Set.
This value ("|") is also the default value for the Subj fixed field. This
means that the fallback mechanism is very likely never reached, and anything
short of fully specifying an appropriate thesaurus code for any non-LoC
authority record will run afoul of a similar outcome as the bib-data loss
situation described in bug #983487.
We can avoid this situation in most cases by /not/ tying the "|" thesaurus
value to the LoC control set.
This commit accomplishes this goal by allowing the Control Set for a thesaurus
to be NULL, removing the Control Set for "|" and removing the Control Set
recorded for records with "|" as the thesaurus value, thereby forcing Main
Entry inspection on any use of the authority record where Control Set is
required.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Wells [Tue, 12 Jun 2012 13:03:31 +0000 (09:03 -0400)]
Serial Note Sort Fix
Serial notes are currently sorting backwards from what is intended
(and what is expected based on other interfaces). This was caused
by adding a sort to the middle-layer code which resulted in an
unwanted double reverse.
[whitespace adjustment by LFW per request of DBS]
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Wells [Mon, 11 Jun 2012 15:18:08 +0000 (11:18 -0400)]
Show Vandelay Buckets in Manage Record Buckets
The 'Manage Record Buckets' view is currently filtered to show
only 'staff_client' type buckets. This expands the filter to
include 'vandelay_queue' buckets.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Wells [Thu, 7 Jun 2012 14:32:59 +0000 (10:32 -0400)]
Fix broken non-RSS bookbag feeds
This commit addresses LP#1010036 by defining a stub 'description()'
method. Lack of such a method was causing internal server errors
for other kinds of feeds.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Wed, 6 Jun 2012 21:43:33 +0000 (17:43 -0400)]
Add TPAC translations
We're still working out our translation update process; new PO files can
fairly easily slip through the net. Fix that for TPAC, which is a pretty
big deal for 2.2.
Dan Scott [Wed, 6 Jun 2012 20:39:10 +0000 (16:39 -0400)]
Import updated translations from Launchpad
Lebbeous Fogle-Weekley originally imported these updated translations
from Launchpad. Dan Scott just weeded out a few metadata-only changes
to PO files that didn't need to be pushed to git.
Address LP #983487: Avoid clobbering bib records at authority merge
If you've set up a relationship between bib record and authority records
based on arbitrary sets of controlling and controlled fields, but your
authority records don't have the right Subj fixed field value
corresponding to a control set that defines the controlling and
controlled fields you're using, authority merge operations may wipe out
lots of bib data.
Yamil Suarez encountered this bug in testing, and in his case what he
needed to do was set the Subj fixed field in his authority records to
'A' to match his Song Title Index (see the launchpad bug referened
above).
Previously, you could not actually save the Subj fixed field in the MARC
editor (which showed HeadSubj instead of Subj for authority records, and
didn't work). Now you can.
Thanks to Mike Rylander for help in figuring out the above.
To provide additional protection against merging authority records when
they might not be linked with the right control set, the Manage
Authorities interface will now also show you the linked control set for
any given records.
The implementation of that last bit incidentally meant making sure flesh
and flesh_fields get passed through to PermaCrud for retrieve() calls via
the Javascript openils.PermaCrud wrapper.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
It appears as though a copy-and-paste error introduced duplicate keys in
circ.properties, which in turn makes newer versions of the Translate
Toolkit unhappy and results in empty translated files. Tracing through
the pertinent code in xul/staff_client/server/circ/util.js, it looks
like the desired key was for "not_found" for the second "cataloging" key
- so change that accordingly.
Signed-off-by: Dan Scott <dan@coffeecode.net> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Thu, 3 May 2012 20:36:38 +0000 (16:36 -0400)]
TPAC: Prevent unitialized variable warnings in My Account (repair)
The logic in the second IF test was slightly altered by the fix. An
undef value for username_unlimit should result in executing the block.
Since org setting values are stored as real boolean values, I simplified
the test to a simple if(!username_unlimit) test.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Dan Scott <dan@coffeecode.net>
Bill Erickson [Fri, 23 Mar 2012 19:17:50 +0000 (15:17 -0400)]
ACQ guarantee no PO re-activation
Prevent the possibility of double PO activation by preventing it within
the API. There have been reports in the wild of double-activation, even
though the UI is supposed to prevent it.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Michael Peters <mrpeters@library.in.gov> Signed-off-by: Dan Scott <dan@coffeecode.net>
Fix broken menu entries under "Other -> Booking" in patron interface
This issue was reported to me by Steve Callender. The menu entries
under "Other -> Booking" had all stopped working.
There's a catalog of URL constants under window.urls sometimes, and
formerly (or other times?) at xulG.urls for XUL-based staff client
interfaces. There's a new-tab-opening method that needed to be more
flexible when looking for that catalog.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Galen Charlton [Fri, 1 Jun 2012 03:31:11 +0000 (23:31 -0400)]
lp#1007248: tweak order in which pgt rows are renumbered
Need to renumber from highest to lowest. Because the primary
key constraint is not deferred, doing the renumbering in a single
statement will fail if there is overlap between the set of
existing pgt.id values and the set of {pgt.id + 100}.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Bill Erickson [Fri, 25 May 2012 18:41:18 +0000 (14:41 -0400)]
TPAC bookbag CGI param changed to bbid
To avoid propagating a generic URL parameter like 'id', which can be
picked up by other pages and cause breakage, use 'bbid' instead. Also,
clear the 'bbid' param from the my-account tabs.
While we're in there, silence an uninitialized string warning.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Jeff Davis [Wed, 11 Apr 2012 16:04:19 +0000 (12:04 -0400)]
LP#856708 - Scrolling/div size issues in action trigger interface
The event definition content pane does not properly accommodate its contents.
In the Event Definitions tab, the list of event definitions exceeds the height of the
pane, but you can't scroll all the way down to the bottom of the list -- some of the
content gets cut off. Likewise, when editing an event definition, you can't scroll
all the way to the bottom of the page; the Cancel and Save buttons are cut off, and
you have to use the Tab key to move the focus down to those buttons, which forces
the pane to scroll to the bottom so that they're visible.
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Michael Peters <mrpeters@library.in.gov> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Scott [Thu, 12 Apr 2012 01:56:56 +0000 (21:56 -0400)]
Group acquisition OU settings in a new "Acquisitions" group
As seen in LP867465, the current grouping of acquisition OU settings
under the generic "lib" group leads to confusion about which
context "default shelf location" and the like apply to. Creating a new
"Acquisitions" group will help clarify that current ambiguity.
Signed-off-by: Dan Scott <dan@coffeecode.net> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Acq: Use scope to constrain choice of lineitem alerts
This commit addresses this launchpad bug:
https://bugs.launchpad.net/evergreen/+bug/996033
The controlled vocabulary of acq lineitem alert text is set up in an
interface labeled "Line Item Alerts" in the staff client admin menu. In
the PO and selection list interfaces (where alerts can be applied), we
will limit the user to selecting alerts from those owned at the user's
workstation org unit (or its ancestors).
When we display applied alerts, we can also display the shortname of the
org unit at which the alert text is defined (the owning_lib column).
This should help clarify what's going on with alerts that have already
been applied using alert text from another org unit.
[Amended since original reference on Launchpad to also show the
owning_lib's shortname when confirming alerts at receive time.]
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Dan Scott [Fri, 25 May 2012 07:26:15 +0000 (03:26 -0400)]
README: Backport changes to README from master (27320c83)
The OpenSRF prereq had already been bumped to 2.1 in the rel_2_2 branch,
which was unexpected as the same change had not occurred in master.
However, we can apply the other diffs from 27320c83 here:
Use a title that fits into the DIG documentation more smoothly, and
be consistent about sentence-style capitalization of sub-headings.
Bill Erickson [Tue, 22 May 2012 20:22:14 +0000 (16:22 -0400)]
TPAC: recover the ability to override hold placement failures
There is a certain class of hold failure events (e.g. HOLD_EXISTS,
HOLD_ITEM_CHECKED_OUT) that can be overridden by patrons when they have
the correct override permission. This change recovers that ability,
which was recently removed with 99e8fc893a.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Stephenson [Sat, 19 May 2012 02:51:14 +0000 (22:51 -0400)]
Add libnet-https-any-perl as precise deb requirement in Makefile.install.
Business::OnlinePayment::PayPal requires it, and it does not always want
to install from CPAN. It says it require either Net-SSLeay or
Crypt-SSLeay but the CPAN package never wants to install unless they
both are installed. The deb package for Ubuntu seems to do the right
thing.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Wed, 16 May 2012 19:55:23 +0000 (15:55 -0400)]
Vandelay authority existing queue search repair
When searching for an existing authority queue, search for an authority
queue, not a bib queue. Apart from simply not working, the query will
fail with an "invalid input value for enum vandelay.bib_queue_queue_type"
and result in a client-side error.
https://bugs.launchpad.net/evergreen/+bug/989391
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Scott [Fri, 11 May 2012 14:45:39 +0000 (10:45 -0400)]
Move PLPERL dropping outside of 2.1-2.2 upgrade transaction
Sites might have added custom PLPERL database functions for migrations,
data clean up, etc, so don't make the success of the 2.1-2.2 upgrade
hinge on a database schema that exactly matches vanilla Evergreen;
just move it outside of the upgrade transaction and output a reassuring
note.
Signed-off-by: Dan Scott <dan@coffeecode.net> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Bill Erickson [Fri, 4 May 2012 13:18:10 +0000 (09:18 -0400)]
Check if transaction needs closing after adding billings
This addresses the issue where issuing refunds results in a negative
ballance and it is then impossible to close the transaction by creating
new billings.
https://bugs.launchpad.net/evergreen/+bug/758982
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
TPAC: Keep site() and depth() out of basic search box when widgets suffice
This is a short term but working solution to the problem described here:
https://bugs.launchpad.net/evergreen/+bug/986196
Now when you have a selection for site on the advanced search page, it
doesn't lead to redundant site() and depth() terms in your basic search
query box.
Item type selections and search class selections (keyword/author/etc)
can still lead to ugliness in the advanced search box, but that's
because in the advanced search page you get a multi-select widget for
item type and in a basic search page you only get a single-select
dropdown, so there's not a clean way to map your advanced page
selections to basic page selections. Search classes are kind of the
same issue, since you have three dropdowns on the advanced search page
and one on the basic.
So the "bigger" problem is one that we will have to solve later, but for
the common case at least we don't get the extra site() and depth() for
now.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Bill Erickson [Fri, 4 May 2012 16:07:35 +0000 (12:07 -0400)]
TPAC: repair staff client End link for showing last record
In the embedded TPAC, when staff clicks the End link in the record
detail page to jump to the last record in the search results, it now
makes an intermediate jump through search code, which locates the last
record in the set (via CGI param find_last) then redirects to the record
detail page for the last record. With this approach, we don't have to
pre-fetch the entire set of record IDs just to render the paging links.
Tip o' the hat to Mike R. for the design suggestion.
https://bugs.launchpad.net/evergreen/+bug/984070
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Consensus was reached to remove editor-specific globs from .gitignore.
In a highly overengineered discussion out of scope with the actual breadth
of this very minor issue, everyone has come to the conclusion that
editor-specific globs don't really belong in the project's .gitignore,
given that git permits a global-level ignore file for users.
Instead, a HACKING file is herein added, with its first entry to explain
how developers can set the own global gitignore.
Signed-off-by: Bradley M. Kuhn <bkuhn@ebb.org> Signed-off-by: Dan Scott <dan@coffeecode.net>
If you had relatively technical users composing searches with
QueryParser syntax, or if they were just typing ampersands for any
other reason, AutoSuggest would behave as if the ampersand marked the end
of user input.
This is fixed by applying the correct URI-encoding function for the
situation.
To be clear, QueryParser syntax does not actually affect suggestions;
such syntax is ignored. AutoSuggest is not search.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Dan Scott <dan@coffeecode.net>
lp996776: Patch to fix the response if no configured status is detected.
SIP response messages that use circulation_status where defaulting to just 1
rather than 01 if the status was not detected. Since SIP needs a 2 character
response, this was causing issues in some 3rd party devices. Added quoting
around the 01 to force the 2 characters.
Signed-off-by: Steven Callender <stevecallender@esilibrary.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This causes bad interactions between patron windows and normal catalog
windows. Examples:
Load a patron, load place hold catalog in patron window. Future loads of
non-patron catalogs will default to this patron.
Load Patron A from written note, and open Place Hold catalog. Start
searching for the item Patron A wants.
Get interupted by Patron B calling. Load Patron B, and open Place Hold
catalog. Search, place a hold for Patron B.
Return to Patron A, find item, go to place hold. Find Patron B's barcode
populated.
Instead, teach the staff javascript, that already knows how to load hold
preferences, how to grab the barcode from xulG. This barcode should be
specific to the patron window the catalog is embedded in, and won't 'leak'
to other catalog interfaces.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Scott [Tue, 8 May 2012 16:52:02 +0000 (12:52 -0400)]
Roll back libjs version to 1.7.0
The install version of libjs (Spidermonkey) had been bumped to the
latest, 1.8.5, but it turned out that the tests for that had probably
been run on a system that had an old version of libjs source and/or
installed headers/libraries in place, as building libjs 1.8.5 is a
different beast entirely (different directory structure, etc).
In addition, there are several bugs along the lines of
https://rt.cpan.org/Public/Bug/Display.html?id=75058 that strongly
suggest that libjs-1.8.5 is not compatible with the
JavaScript::SpiderMonkey 0.21 Perl module.
Therefore, roll back to the tried-and-true libjs 1.7.0.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
James Fournie [Mon, 7 May 2012 17:57:30 +0000 (10:57 -0700)]
Upgrade 0704 was missing from the 2.1-2.2 upgrade script.
That upgrade added a parameter to search.query_parser_fts, without it,
Evergreen passes 11 parameters to the database but the searches fail because
there's only a 10 parameter function in the database.
Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Scott [Fri, 4 May 2012 17:55:55 +0000 (13:55 -0400)]
Fix typo in TPAC noticed by Warren Layton
Expiration needs to be spelled correctly; Warren Layton pointed out the
typo while working on a translation of the derived tpac.pot file. Many
thanks, Warren!
Dan Scott [Mon, 9 Apr 2012 20:23:08 +0000 (16:23 -0400)]
Prereqs: Remove references to CentOS / RHEL
The prereqs were focused on the 5.x series for CentOS and RHEL, which is
hella-out-of-date and never really worked anyway. Get rid of the noise
to focus on the signal.
Signed-off-by: Dan Scott <dan@coffeecode.net> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Wells [Wed, 25 Apr 2012 19:56:20 +0000 (15:56 -0400)]
Allow subscriptions at org units without volumes
Subscriptions are sometimes owned at the consortium or system
level, so forcing can_have_vols() to be true was incorrect.
This commit removes those checks. In addition, we also remove
some dead code and make the subscription org unit selector
consistent with the distribution org unit selector.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Jason Etheridge [Wed, 2 May 2012 19:23:06 +0000 (15:23 -0400)]
Address date sorting in Item Status and Copy Buckets interfaces, too
> The sort_value function for the date columns being used in those
> interfaces had no error protection, and were returning empty strings
> upon failure.
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Scott [Tue, 1 May 2012 05:52:56 +0000 (01:52 -0400)]
Release notes: clean up and introduce TPAC
General clean-up of the release notes for consistency and to support
PDF output:
* Reformat line-widths to 80 characters or less
* Mark interface window and element names as bold
* Fix up some formatting glitches and headers
* Make the "Documentation is available..." note standard & separated
by one line; I suspect we will want to modify this globally, so it
will be easier if it is consistent.
Also, give a brief introduction to the TPAC and mention the forthcoming
JSPAC deprecation in the next feature release.
Bill Erickson [Wed, 21 Mar 2012 20:33:39 +0000 (16:33 -0400)]
Vandelay match set permission additions
Allow retrieve access for match points with the VIEW_IMPORT_MATCH_SET
permission (in addition to ADMIN_IMPORT_MATCH_SET).
Adds 2 new permissions to the database:
ADMIN_IMPORT_MATCH_SET
VIEW_IMPORT_MATCH_SET
From Jason Stephenson resolving conflicts:
> Conflicts:
>
> Open-ILS/src/sql/Pg/950.data.seed-values.sql
>
> I had to change the ids of the new permissions because another branch
> had used one of the ids since this branch was last rebased. I also edited
> the ids in the upgrade script to match what is in 950.data.seed-values.sql.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Constrain serial.issuance.holding_code to be valid JSON or NULL
This avoids serial.materialize_holding_code() failing on bad data. The
upgrade script will actually throw away bad values for
serial.issuance.holding_code. This is no real loss, since bad data
there prevents any serials functions around the row in question from
working properly anyway.
This problem was reported by Martha Driscoll and Ben Shum.
*Also* put a couple of changes missed from the 0700 upgrade script into
210.schema.serials.sql.
Fix new serial constraint upgrades
1. None of the upgrades so far have moved is_json() from the public
to the evergreen schema. That's probably a separate issue, but it
should be safe to call it unqualified, and that's what the rest of
the upgrade file does, so we will too.
2. Add a specific SET CONSTRAINT to avoid deferred trigger problems
when ALTERing the table.
3. Make sure that the unwanted columns on materialized_holding_code
do not exist regardless of your upgrade path.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Scott [Fri, 27 Apr 2012 01:56:23 +0000 (21:56 -0400)]
TPAC: Instrument the search results page
Because we want to know why search results can be slowish, add timelog()
entries to pertinent locations in Search.pm.
Quick results on my laptop with the concerto set:
* 10 results = 1.1 seconds for get_records_and_facets()
* 50 results = 4.2 seconds for get_records_and_facets()
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Scott [Wed, 25 Apr 2012 19:20:46 +0000 (15:20 -0400)]
Instrument the TPAC: add timelog() method to EGCatLoader
Meant for timing how long events take to generate a single TPAC page,
the timelog() method will provide timing in microsecond granularity of
various events required to build the page.
To invoke: $self->timelog("Event description...");
Builds up a context variable named "timing" containing a list of
arrays; each array entry contains a time and the event description.
Disabled by default; to enable, set DEBUG_TIMING = 1 in
OpenILS/WWW/EGCatLoader.pm
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
AUTHORS, NEWS, and INSTALL files should actually have reasonable content if they exist.
Specifically, this commit:
* simply points INSTALL to README via symlink, since install instructions are there.
* AUTHORS now notes that Evergreen keeps its authors in the git log.
* NEWS now explains where release notes are.
Signed-off-by: Bradley M. Kuhn <bkuhn@ebb.org> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Dan Wells [Tue, 17 Apr 2012 21:35:26 +0000 (17:35 -0400)]
Clean up and refine serial note support, part 2
Because of the way our notes are being rendered, a handful of
special XML characters can break the note interface when editing.
These characters are now properly encoded as entities.
Also, editing of newlines presents a similar issue with different
consequences, and it is handled similarly but separately.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Wells [Tue, 17 Apr 2012 21:34:06 +0000 (17:34 -0400)]
Clean up and refine serial note support, part 1
This commit fixes a number of minor problems with serial notes:
1) Serial notes are currently returned in "random" (database)
order. Adding a create_date sort is a sensible default.
2) If you have many notes, they start to display in a squashed and
unreadable fashion. Switching from a groupbox to a styled vbox
provides a simple workaround.
3) It is currently impossible to display newlines in notes. We can
deal with this by changing the display style.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Dan Wells [Tue, 17 Apr 2012 20:02:49 +0000 (16:02 -0400)]
Limit excess serial data fetching
Overfetching and duplication of data in the interface is both
inefficient and bug-inducing. This reduces a couple big offenders.
First, in the items tab, we will store distribution and subscription
data separately, rather than duplicating for every row. Second, we
will only redraw rows as needed rather than refresh the whole list so
often. Finally, we no longer need to lookup call numbers separately,
as they are included in the one-time distribution fetch.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Jason Etheridge [Fri, 30 Mar 2012 19:32:53 +0000 (15:32 -0400)]
unsaved data loophole
The Start/Previous/Next/End/Search Results buttons in the staff client OPAC
wrapper do not fire unsaved data warnings for the MARC editor when changing
records. This plugs that hole, but it's not a complete solution, as you can
still move away from the record by clicking on hyperlinks in the OPAC View,
though that's less likely to happen.
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Dan Scott [Sun, 22 Apr 2012 19:40:00 +0000 (15:40 -0400)]
Bootstrap via "autoreconf -f -i" instead of "autogen.sh"
It has always been potentially confusing to maintain two shell scripts
named "autogen.sh" for two distinct purposes in Evergreen. Take
advantage of "autoreconf" that is packaged with autoconf for dev
bootstrapping purposes and trash the old "autogen.sh" as a result.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>