Kathy Lussier [Wed, 18 Nov 2015 21:24:14 +0000 (16:24 -0500)]
Docs: Missed some acknowledgements in the 2.9.1 point release notes
Missed a few ackwnowledgements in the release notes. Apologies to those who
I missed. Also added bshum since he made a doc change after the release notes
were merged.
Kathy Lussier [Wed, 18 Nov 2015 00:13:57 +0000 (19:13 -0500)]
Adding bug fixes and acknowledgements to 2.9.1. Release Notes
The structure of these point release notes is a little different from what
we did with the 2.8 series. I restructured the headings a bit so that there
is just the one level one header. The two headers in the 2.8 release notes
led to a confusing outline.
Also, I'm adding acknowledgements for each point release rather than adding the
entire batch at the bottom of the file. There are two reasons for this change:
1. The release notes in the official documentation are broken up into different
sections, whereas the ones on the downloads page are available all on one page.
In the official docs, it appeared as if everyone being acknowledged had
contributed to the .0 release, when, in actuality, some had contributed patches
in other point releases. By adding acknowledgements to every point release
section, it is clear who contributed to which release.
2. Consistent contributors get acknolwedgement for every point release they
contribute to, which is a nice thing to do.
Because phrases are subqueries, we need to look at the top of the parse tree
when looking for modifiers for cover density. This is because modifers are
normally only allowed at the top of the parse tree (or in the floating sub-
query). We do that by asking the plan's QueryParse for it's reference to its
parse_tree member, which is always the top of the parse tree in QP.
Included in this commit is a small change to the QP testing script to
facilitate testing of this fix.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
This little patch will open up the acq copy location dropdown UI
to include other library's copy locations outside of the workstation
registration. When the user permissions are scoped to more branches.
Steven Chan [Thu, 19 Sep 2013 19:51:35 +0000 (12:51 -0700)]
Fix LP1175711, OPAC can't renew item on booking resource list
A test sequence to show the behaviour before and after the fix:
1. Using staff client, check out an item to test account.
2. Go to Copy Details on the OPAC, click Book Now, and cancel the form;
the side effect is to put the item on the Resource list.
3. Using the OPAC on a web browser, log in with test account.
4. Go to Items Checked Out, select the item in the list and click Renew
Selected Items.
Before the fix, we saw the OPAC spin forever, and we saw the Javascript
console of the web browser log the error noted in previous comments.
With the fix, we see an error prompt saying, 'The system is unable to
renew the selected item at this time. This usually means the item is
needed to fulfill a hold. Please see a librarian for further help.'
Note: A patron with the normal group of permissions will not be able to
renew an item on resource list.
The fix is to check for an error object emitted by the function
Booking.pm/reservation_list_by_filters(), and to propagate it back to
the client, by returning a call to bail_on_events().
We also clarify the coding of the function's parameter list and how the
function checks for mandatory parameters.
Jason Stephenson [Mon, 16 Nov 2015 21:15:22 +0000 (16:15 -0500)]
LP 1516786: 0938 Upgrade Script ends in END and not COMMIT.
Change the END; on the last line of 0938.data.some_rda_attributes.sql
to COMMIT; for reasons of consistency and to avoid issues when wrapped
in larger upgrade scripts using the make release script.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
It was previously possible to delete reserved rows in
the acq.cancel_reasons table via the UI. We take a belt
and suspenders approach here:
1) Grey out the checkboxes beside cancel reasons with an
ID lower than 2000.
2) Create a trigger on the acq.cancel_reason table that
prevents deletion of rows with an ID lower than 2000.
The trigger executes a new generally available function
for use in similar situations in the future.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Galen Charlton [Thu, 29 Oct 2015 15:39:16 +0000 (15:39 +0000)]
LP#937789: various improvements to logical deletion of parts
This patch ensures that when a monograph part is marked as
deleted, that mappings between it and its copies are also
removed, similar to the previous behavior of the cascade
on delete.
This patch also adds some pgTAP tests and ensures that
unapi.bmp() and unapi.holdings_xml() get updated during upgrade.
To test the fix for this bug:
[1] Apply the patches.
[2] Create a monograph part on a record, then delete it. Verify that
it no longer shows up in the parts maintenance interface, but that
a row in the biblio.monograph_parts table still exists with the
deleted flag set to true.
[3] Create another monograph part on the same record.
[4] Create a new volume/copy and assign the part created in step
3 to it. Verify that the part shown in step 2 is *not*
included in the XUL part selector.
[5] Place a part-level hold. Verify that the hold request
is displayed correct in both the public catalog and the staff
interface.
[6] Delete the part created in step 3.
[7] Verify that viewing the list of the patron's holds in the XUL staff
client doesn't result in any 'network errors'. Also verify that
the hold request is still displayed in patron's view in the public
catalog.
[8] Using SQL or some other means, set the expire_time and
prev_check_time of the test hold request to a couple days in the
past, then run the hold targeter. Verify that the hold gets
cancelled for lack of a suitable copy to fill it.
Mike Rylander [Thu, 7 Jun 2012 18:54:24 +0000 (14:54 -0400)]
LP#937789: fake-delete support for monograph parts
Unlike copies, call numbers, and bibs, parts can be directly removed from the
database. This has a negative impact on holds, in that the holds become not
just orphaned, but broken entirely. With this commit we bring part holds to
parity with other hold types such that they can be system-canceled when their
target goes away. This will avoid spurious UI-level errors to staff.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Ben Shum <bshum@biblio.org>
[1] Install the translation for a language that uses
non-Latin-1 characters, such as Russian.
[2] Start the XUL staff client and open the reports
interface. Note that labels are mangled.
[3] Apply the Apache configuration changes in this patch,
reload Apache, clear cache in the staff client, and
reload the reports UI. The labels should now be
displayed correctly.
Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Josh Stompro [Sat, 31 Oct 2015 15:38:41 +0000 (10:38 -0500)]
LP#1511828: sort proximities numerically when targeting holds
The hold targeter had three instances of using lexical sorting
rather than numerical sorting.
Two of the instances affected hold targeting if proximity values were
over 9. Proximity values were being sorted lexically. For instance,
1,2,5,11,15,100,120 was sorted as 1,100,11,120,15,2,5, causing
interesting hold targeting results. Normally proximity doesn't go
that high so it isn't a problem, but we were using proximity adjustments
to strictly order locations so each location had a different proximity,
driving the numbers above 9.
One instance wasn't causing any current issue but could cause problems in
the future if more best hold selection sort options are added to bring the
total number of sort options over 9.
Also included are some changes to reduce warnings in the logs
suggested by Bill Erickson. The sorting problem was found by
Galen Charlton, thanks Galen.
Testing Notes - to trigger this issue you need to have adjusted
proximities over 9.
1. Use proximity adjustment rules to add a +10 proximity adjustment to
one item circ lib, Branch A and a +2 proximity adjustment to the
item circ lib Branch B.
2. Find a title with a copy at Branch A and B. Place a hold with a
pickup location of Branch B.
3. The copy at Branch A should get targeted since it has a proximity of
12-14 (10+normal proximity) and Branch B has a proximity of 2
(2+normal proximity). 12 gets sorted before 2 lexically.
4. After the fix the copy at Branch B should get targeted since 2
is sorted before 12.
Josh Stompro [Thu, 11 Jun 2015 01:12:10 +0000 (20:12 -0500)]
LP#1400801 - Updated email validation regex for Org Unit admin gui
Grabbed the example of a simplified RFC 5322 email regex from
http://www.regular-expressions.info/email.html and lightly modified it
for case sensitivity and removed the "&" character from the localpart allowed
characters, which causes a 500 server error for some reason.
This matches many more of the valid localpart special characters.
Signed-off-by: Josh Stompro <stomproj@larl.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Adam Bowling [Mon, 19 Jan 2015 17:05:19 +0000 (12:05 -0500)]
LP#1406387 Fix for Holds Placement Advanced Options
In the staff client, when placing a hold and clicking
Advanced Hold Options, the barcode input will populate
with the staff member's barcode if it was previously
empty, regardless of whether the radio input for the
hold was specified for a patron or the staff member.
This patch corrects that behavior, and also populates
the input radio on load after clicking Advanced Hold
Options.
Signed-off-by: Adam Bowling <abowling@emeralddata> Signed-off-by: Michael Peters <mpeters@emeralddata.net> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Ben Shum <bshum@biblio.org>
LP#1340852: Retain search params for copy location groups
The order in which we determined what to 'selected' in the "Library"
dropdown put the resolved locg first (which allows for shortnames, e.g.
BR1). That only gives us half the location group though, which is why
it was bumping up a level. Now, if we have a location group selected,
it will use that first (since they don't have shortnames); the remaining
select order will be the same.
Yamil Suarez [Mon, 22 Jun 2015 18:33:28 +0000 (14:33 -0400)]
LP#1467634: Hide saved searches from screen readers for non-staff client
This commit will only allow screen readers to see the saved searches for
users that are logged through XUL client.
Assuming that a screen reader can be attached to the XUL client.
It should also work for a user logged in through the web staff
client that is using a screen reader.
To test
-------
[1] Apply the patch, then perform a search in the public catalog and
view the HTML source. Verify that there's no "sr-only" heading
for "Saved searches".
[2] Set the opac.staff_saved_search.size library setting to a non-zero
value.
[3] In the web staff client, perform a search using the embeded OPAC;
verify that the recent searches list is displayed.
[4] Repeat step 4 in the XUL client.
Galen Charlton [Wed, 7 Oct 2015 17:49:19 +0000 (17:49 +0000)]
LP#1503782: fix horizontal scrollbar in MARC import queue inspector
In the XUL client (and webstaff), attempting to view the contents
of a MARC record import queue displays a table that, due to
its width, will almost always have a horizontal scrollbar. However,
attempting to actually use the scrollbar often causes the
focus to jump to the top of the table instead. This patch
fixes that.
To test:
[1] Create a bib queue that has at least a dozen records or so.
[2] Inspect the contents of the queue, scroll to the bottom of
the table, and interact with the horizontal scrollbar.
[3] Observe that doing so typically results in jumping up
to the top of the table.
[4] Apply the patch, clear cache and refresh, and try step #2
again.
[5] This time, the horizontal scrollbar should act normally.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Galen Charlton [Thu, 29 Oct 2015 19:30:31 +0000 (19:30 +0000)]
LP#1406786: fix remapping copies during parts merge
This patch fixes an issue with how copies are mapped
on the target part when using "Merge Selected" in the
Monograph Parts interface.
To test:
[1] Create some monograph parts on a record and assign
some copies to use them.
[2] Use the merge parts function to collapse all of the
parts created in step 1 onto a single part.
[3] Verify that the copies whose original parts were removed
are now mapped onto the part that was the target of the
merge.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Dan Wells <dbw2@calvin.edu>
An unclosed phrase search that has a modifier can cause QueryParser to
enter an infinite loop, tying up open-ils.storage backends.
Examples of such searches include:
-"cats and dogs
subject:+"physical chemistry
This patch fixes the bug by allowing the end of the query string
to terminate a phrase (in addition to a quotation mark).
To test:
[1] Verify that the t/21-QueryParser.t unit test passes
[2] To test in a *development* database, before applying the patch
run one of the example queries. Observe that no
results are returned, and that one of the open-ils.storage
drones is running at 100% CPU.
[3] Apply the patch and restart the open-ils.storage service.
[4] Try the query again; this time, it should return results
immediately without causing an open-ils.storage drone to
peg a CPU.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Dan Scott <dscott@laurentian.ca>
LP 1502156: Fix marc_export error when dumping authorities.
There is a chance that marc_export will attempt to call a nonexistent
field on MARC::Record if an error occurs while exporting authority
records. The bug could only be triggered if a conversion error
occurred while exporting the authority as either MARCXML or USMARC.
The fix is to rename a couple of variables in the Marque::Authority->next
method to be more like those used in Marque::Biblio->next. This will have
the side effect of making marc_export easier to maintain, since the
variables used in one method will now have the same meaning as those
in the other.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Remington Steed [Fri, 2 Oct 2015 13:41:39 +0000 (09:41 -0400)]
Docs 2.9: Add summary of Web Client changes
This commit adds the Web Client release notes summary to the appropriate
docs section. It also updates the wording and links regarding the
completed UI Style Guide internship.
Next we need to copy the Cataloging content into the web client section
and provide web client screenshots.
Dan Scott [Thu, 1 Oct 2015 20:15:12 +0000 (16:15 -0400)]
Doc build: link to the right media file
The screenshot for the list of call numbers is a PNG image, not a JPEG
image, so referring to it with the appropriate extension will make it
show up in the docs and enable the epub and PDF builds to successfully
complete.
Dan Scott [Thu, 1 Oct 2015 20:13:45 +0000 (16:13 -0400)]
Doc build: update the implicit ID for release notes
The implicit ID for a given heading changes each release as we update
the release notes, so bump 2.8 to 2.9 so that the reference to the ID
can be resolved.
Dan Scott [Thu, 1 Oct 2015 20:11:57 +0000 (16:11 -0400)]
Doc build: use XML-compliant IDs
Doc builds that depend on an intermediate XML transform (epub, PDF) also
need to use IDs that comply to the XML standard. In this case, numbers
are not valid NameStartChars:
http://www.w3.org/TR/REC-xml/#NT-NameStartChar
Dan Scott [Thu, 1 Oct 2015 20:10:41 +0000 (16:10 -0400)]
Avoid duplicate IDs in doc build
Defining the same ID twice in the same document results in broken builds
that depend on an intermediate XML transform (epub, PDF), so redefine
the second ID in this document.
Documentation for negative balance settings in 2.9. The updates in this branch
include:
* Updates of the circulation, patron record, and library settings sections
to reflect the new features contained in the negative balance work.
* General updates, consolidation, and re-organization of some components
of the billing section.
A new understanding and confiuring billing section is still to come, but this
branch brings existing documentaiton up to date.
Release Notes: Move/copy relevant sections to Upgrade Notes
This commit moves two sections from "New Features -> Administration ->
Upgrade Notes" to the main level "Upgrade Notes" section, which had been
accidentally left empty and was causing AsciiDoc-to-ePub conversion
errors. This commit also copies two other sections to the main "Upgrade
Notes" section, since they contain information relevant to the upgrade
process.
Chris Sharp noticed another ERROR: cannot ALTER TABLE
"record_attr_definition" because it has pending trigger events
with the 2.8.4 to 2.9.0 upgrade script. I have rearranged the
transactions so that there are now 3.
1. One for the initial inserts and other changes up to 0937.
2. One for the two alter table statements in 0937.
3. One for 0938 to the end (0944).
This resolves the issue and works for me on an upgrade from a
clean 2.8.4 installation.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jason Stephenson [Thu, 17 Sep 2015 19:12:40 +0000 (15:12 -0400)]
LP 1496977: Duplicate Code in OpenILS::Application::Cat::AssetCommon
It looks like two lines of code got duplicated in commit e2f6cca0 in
AssetCommon. This duplication can lead to data loss for the function
update_fleshed_copies. It also lead to the following warning when
you use OpenILS::Application::Cat::AssetCommon in a script:
"my" variable $sc_entries masks earlier declaration in same scope at
/usr/local/share/perl/5.18.2/OpenILS/Application/Cat/AssetCommon.pm
line 371.
After this patch, the warning disappears.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Docs 2.9: Update and add detail for Holdings Import profile
In order to add details about the new ability to import Stat Cat data
for a copy, this commit adds a table of all the import fields available
in the Holdings Import Profile. It also duplicates some content from
another section about batch importing, and updates the screenshot and
some wording in the original section.
Docs: Apache config includes examples for "no image"
This commit adds a note about the new commented config blocks in the
example Apache vhost file for providing a custom image for items with no
image. This commit also moves a related section into the "External
Content" section, so all external content info is together.
We missed acknowledgements for a few code contributors during the 2.8.3
point release. Adding them here as well as a fix to get the header to display
properly for the 2.8.4 release notes.
Adjusting the release notes entry for conditional negative balances to reflect
recent changes in the code and adding ackwnowledgements. Also, cleaning up some
grammar and removing entries that already made it into point release notes as
bug fixes.
Dan Wells [Tue, 15 Sep 2015 19:28:44 +0000 (15:28 -0400)]
LP#1494544 Complete XUL UI for adjustment vs. void options
This commit does several things to complete the adjustment UI changes.
1) Adds "Adjust to Zero" to the "Actions" menu. It was previously only
on the right-click popup.
2) Shows or hides the void/adjustment controls based on permissions.
3) Generates a new force-verified warning if you attempt to void, but
there is also some chance that doing so would be contrary to your
negative balance policy settings.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Dan Wells [Mon, 14 Sep 2015 15:12:38 +0000 (11:12 -0400)]
LP#1494544 Add ADJUST_BILLS permission to seed data
This commit adds the new ADJUST_BILLS permission to the seed data.
Note that the upgrade script only adds the perm and avoids adding it
to any groups, as that should only be done with local discretion.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Fixes an error that occurs when attempting to refund a negative balance from
the patron's bill record. We removed the staff.patron.bills.handle_refund.
confirm_message string, which caused the error when the handle_refund function
tried to retrieve the string. It turns out the string never displayed in the
client. Therefore, in this branch, we stop the handle_refund function from
trying to retrieve the string. I did the confirmation message for the
adjust_to_zero function since the same issue was occurring there.
Test case: Find a negative balance transaction and, from the patron's bills
record, select the transaction and select the option to Refund. Pre-patch, this
action will generate an error message. Post-patch, this action should generate
a prompt asking the user to confirm the action.
Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Bill Erickson [Thu, 10 Sep 2015 00:52:14 +0000 (20:52 -0400)]
webstaff: Phys Char Wiz various additions and repairs
* Show <unset> as selector value when no value is selected
* Properly handle gaps (undefined slots) in 007 field value
* Return to origin value when dialog Cancel is chosen
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
webstaff: flat MARC editor now updates model on blur, not change
This fixes a problem where attempting to type in the flat
MARC editor would result in a fromBreaker()/toBreaker() cycle
being run with each keystroke, which (among other things) made
the user have to fight for control of the insertion cursor.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>