Dan Wells [Mon, 7 Jul 2014 17:16:58 +0000 (13:16 -0400)]
Fix currently harmless but still confusing sigil error
get_org_descendants() returns an array ref, not a list, so it doesn't
make sense to assign it to an '@orgs' variable. Lucky for us, our
where-parser treats this single element list containing the ref in the
same manner as the proper ref itself, but at best, it is still very
confusing to see.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
If you have generated holdings, but are not using the "compressed"
display, your holdings show up regardless of scope. This change
limits the display to only sdists with a holding_lib in your current
search scope.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Bill Erickson [Tue, 25 Feb 2014 17:23:13 +0000 (12:23 -0500)]
LP#800478 repair logic error in acq fund transfer
The source data for the amount applied to each allocation and transfer
(in certain circumstances) was incorrect.
The transfer amount should not be the total amount allocated from the
source to the fund, but instead the amount of the funding source credit
in cases where we have to pull money from multiple funding source
credits.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Liam Whalen <liam.whalen@bc.libraries.coop> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Galen Charlton [Thu, 21 Aug 2014 19:33:53 +0000 (12:33 -0700)]
LP#1359934: prevent error opening patron search form
As a result of the patch for OpenSRF bug 1316245, JSON2js
in the OpenSRF library is now stricter -- in particular, passing
an undefined value to it results in an exception being thrown.
This patch runs with the increased strictness and fixes an
issue where the patron search form was passing an undefined value
to JSON2js.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Ben Shum [Thu, 14 Aug 2014 16:36:16 +0000 (12:36 -0400)]
Fixes for create_release_notes.sh
1) Teach it to ignore the sample RELEASE_NOTES_NEXT.txt file
2) Add a proper section for "New Features" heading, instead of
defaulting everything under the "Upgrade notes" heading.
Note: Will still require manually moving any upgrade notes to the
right place post-compile.
* Correctly propagate values for text widget "in list" values when editing
reports
* After entering a value for "in list" text widgets, clear the text
input so the user can enter subsequent values w/o manually clearing.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
* ensure default values for scheduling and recurrence are applied with each
edited report, including today's date in the scheduler.
* If the most recent report run run_time is in the past, deafult to "run
now"
* fix bug with propagating months recurrence
* If recurrence interval is in days and divisible by 7, present as weeks
* make date regexes easier on the eyes
* fix bug with rendering sets of org units
* fixed bug with modifying report to be "run now" from scheduled.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Kathy Lussier [Fri, 8 Aug 2014 21:16:39 +0000 (17:16 -0400)]
Release note repairs and additions
A handful of repairs and additions to the 2.7 release notes, including:
* moved copy_edit_links to cataloging
* making no-fixed-field-defaults-for-ingest an upgrade note
* adding release note entries for hold targeting of precats and improved
acq fund rendering.
James Fournie [Wed, 4 Jan 2012 19:55:19 +0000 (11:55 -0800)]
Add multiple permission groups editor to user registration form
This makes use of permission.usr_grp_perm_map which grants secondary
permission groups. It does not affect the 'profile' ie: circulation policy.
Signed-off-by: James Fournie <jfournie@sitka.bclibraries.ca> Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
Bill Erickson [Fri, 8 Aug 2014 00:39:47 +0000 (20:39 -0400)]
LP#1329503 avoid run now + later combined schedule
When editing a report, ensure only one of "now" vs. "schedule for later"
options is selected by default. Similarly, if the schedule option is
activated by default, ensure the date fields are enabled.
If the run time of the most recent report is in the past, default to the
current date for the schedule instead of the no longer valid date.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
* correctly propagate values for the "between" widget
* propagate pivot data and label when present
* propagate report run time
* improvements to report email propagation
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Alongside each report in the Reports folder view there are two new
links, one for viewing (read-only) and one for editing. After changing
a report, the user has the option to save the modified report or create
a new report with the new values, in effect cloning the original report.
When saving a changed report, if a pending report run exists, the user
will be warned of this and asked if they would prefer to modify the
scheduled report or to instead save the changed values as a new report,
leaving the original report intact.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
* Various sanity checks and misc. repairs
* Add missing strings
* oils_rpt_editor.xhtml XML repair; XMLENT is strict
* links to external resources open XUL tabs (to avoid HTTP dialogs)
* avoid displaying bare HTML in labels
* show hints for display fields
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
* Report templates support a new External URL field, which may
contain a link to template-specific, local documentation.
** When set, a link to the external documentation will be
displayed in a new column in the template list and within
the report editor.
** URL's are set in the 'Documentation URL' entry.
* Template display fields and filters support a new Field Hint
value. When set, hints are displayed in the report editor.
** Values are set via the 'Change Field Hint' option along
the bottom of the template editor.
------ from commits ----
* Initial template-level support for inline template and field documentation
* Use external documenation url in clark output
* Show the docs link and strings in the report editor
* Set the href of a link, instead of the text content of a span
* Attempt to pop up a new window (may require more pushups in the XUL staff client)
* Add calculated column support, use it for external docs url
* Realign field names
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Adds "view" and "edit" links next to each copy in the TPAC copy grid
when in embedded mode. The "edit" link only appears when the user has
permission to edit the specified copy.
Via the XUL volume_item_creator, the ui.unified_volume_copy_editor org
unit setting is inspected to determine which UI to load. Also, the data
needed to load the subsequent UI is fetched within the
volume_item_creator, so the catalog doesn't have to.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Dan Scott [Fri, 1 Aug 2014 04:46:45 +0000 (00:46 -0400)]
LP#1304462: Add schema.org copyrightYear, manufacturer for RDA 264 fields
It looks like the best we can do is to define a "manufacturer" property (and
corresponding Organization entity) when 264 ind2="3"; and we can provide a
copyrightYear when we have 264 ind2="4".
Even then, MARC / RDA cataloging practices end up giving us copyright notices
like '@2012' instead of actual dates, so we have to regex the year out of the
notice to satisfy the Integer range for copyrightYear. Theoretically we'll be
in trouble if the copyright notice includes some other 4-digit number (for
example, a multipart work catalogued in a single record that has a date range),
but what are you gonna do? It's MARC / RDA.
Same for manufacturer name, which seems likely (if the LoC examples that Yamil
provided are any guide) to include statements like "Manufactured by Foobar"
instead of cleanly structured data. The RDA fields were added to MARC21 in
2011, you would have thought that the benefits of providing clean data would
have been obvious by then. Grumble grumble grumble. Yes, this is meant to be
a transcription field, and theoretically one could use a 7xx to record the
publisher/distributor/manufacturer/producer in a more cleanly stated factual
way that would lend itself to actual linked data (hey, maybe even providing a
link to an external resource that could act as an identifier), but NOBODY DOES
THAT.
So we do the best we can and soldier on.
Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
Here are links to the MARCXML versions of the files. Search for files with
XML records with 264 and ind2 set to _1 and _4
http://lccn.loc.gov/2014340080/marcxml - DVD - Jorge Mautner
http://lccn.loc.gov/2013335283/marcxml - CD - Claudia
http://lccn.loc.gov/2013493195/marcxml - SCORE - Wiegenlied
XML with 264 and ind2 set to _1 and _2
http://lccn.loc.gov/2013565186/marcxml - SCORE - Arias for bass
http://lccn.loc.gov/2013565190/marcxml - SCORE-CD - Arias for soprano
XML with 264 and ind2 set to _1 _2 and _4
http://lccn.loc.gov/2013568403/marcxml - SCORE - Intermediate_studies
Ind2 values key:
0 - Production
1 - Publication
2 - Distribution
3 - Manufacture
4 - Copyright notice date
I added both MARCXML and UTF8 MARC files for each record.
I originally found more than 4 RDA records, but it was pointed out that they were
using older/outdated versions of RDA. For example, the records used the 260
tag instead of using the 264 tag.
Signed-off-by: Yamil Suarez <yamil@yamil.com> Signed-off-by: Dan Scott <dscott@laurentian.ca> Signed-off-by: Ben Shum <bshum@biblio.org>
Avoid sending fields in the web-published IDL (IDL2js) that have no
value, as the keys in the JSON take up a lot of space. Also avoid
repeating fields (selector) and default values (e.g. label defaults
to name) where the client can reasonably apply the defaults locally.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Because having clients constantly say there is a message of "OK" gets annoying
very quickly, especially if it is displayed in a popup message instead of via
a "messages" button.
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Yamil Suarez [Thu, 7 Aug 2014 21:40:41 +0000 (17:40 -0400)]
Docs: various AsciiDoc formatting fixes for docs
Fixed the 'bad first character' error, the bad apostrophe error. Removed various UTF-8 chars.
Fixed some numbered list formatting, to take out redundant manual numerals…
for example:
. 1 item
. 2 item
. 3 item
became:
. item
. item
. item
also added "=" to wrap around breaks in numbered lists
for example:
. Right-click on the value control for the fixed field that needs to be edited.
image::media/ffrc1.jpg[]
. Select the appropriate value for the fixed field from the menu options.
became:
. Right-click on the value control for the fixed field that needs to be edited.
+
image::media/ffrc1.jpg[]
+
. Select the appropriate value for the fixed field from the menu options.
Ben Shum [Thu, 7 Aug 2014 21:31:41 +0000 (17:31 -0400)]
LP#1351355: Use libexcel-writer-xlsx-perl package for Ubuntu Trusty
Since Ubuntu 14.04 Trusty has a more recent packaged version of
libexcel-writer-xlsx-perl, use that instead of installing from CPAN
for Excel::Writer::XLSX.
Mike Rylander [Fri, 1 Aug 2014 15:26:38 +0000 (11:26 -0400)]
LP#1351355: Switch to XLSX format for Excel report output
We've always used Spreadsheet::WriteExcel::Big to generate Excel output
from reports. That module has a limitation of 64k rows, imposed by the
binary Excel format. Recently, the Excel::Writer::XLSX module has become
feature-complete enough that we can use that instead, and the XML format
files that it writes are now supported by the majority of installed
versions of Excel (and OpenOffice) -- the format arrived with Excel 2007,
released in 2006 (8 years ago). So, let's switch to that!
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Remove the cancel reason label displayed in the lineitem list pages
since the cancel reason is now displayed as the lineitem status for
cancelled lineitems.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Sort lineitem and copy cancel reasons selectors by label. In addition
to being generally useful, this helps to quick differentiate between
delayed and canceled items in the list.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Bill Erickson [Tue, 3 Jun 2014 14:18:43 +0000 (10:18 -0400)]
LP#1270289 Support canceling already-canceled lineitems
If a lineitem is canceled and the cancel_reason has keep_debits == true
(i.e. the lineitem is "delayed"), allow the lineitem to be canceled
again, up until the point the lineitem cancel_reason has keep_debits ==
false, at which point, no more cancelations are allowed.
Similarly, when a copy is canceled with a keep_debits==true reason,
allow the copy to be canceled when its parent lineitem is canceled,
following the rules above.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Bill Erickson [Tue, 3 Jun 2014 13:38:46 +0000 (09:38 -0400)]
LP#1270289 Show cancel reason labels for lineitems/copies
In the standard lineitem list page, display lineitem states as
translatable strings instead of displaying the raw lineitem state code.
Additionally, when the state is 'cancelled', display the cancel_reason
label instead of "cancelled" to help differentiate between canceled and
delayed items.
Similarly, display the cancel reason label for canceled copies in the
copy edit grid.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Add "Delayed:" and "Canceled:" prefixes to stock labels based on their
keep_debits flag to better differentiate between delayed and canceled
items in the UI.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Bill Erickson [Mon, 2 Jun 2014 20:54:01 +0000 (16:54 -0400)]
LP#1270289 Split canceled into delayed vs canceled
The acq.lineitem_summary DB view (and related
acq::lineitem_summary_invoiceable IDL view) now differentitate between
canceled items and delayed items by inspecting the keep_debits flag on
the cancel reason.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Kathy Lussier <klussier@masslnc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
LP#1302207 - Attempt to validate ISBNs in AddedContent.pm.
When getting ISBNs from the database, they often contain extra stuff
after the ISBN that sometimes causes problems for Business::ISBN.
This commit attempts to resolve some of that by looking only for the
part of the ISBN data that resembles an ISBN and using just that part.
If the ISBN data doesn't look like an ISBN, then it is discarded.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Ben Shum <bshum@biblio.org>
Bill Erickson [Wed, 12 Feb 2014 15:18:39 +0000 (10:18 -0500)]
LP#1279998 marc_stream_importer support alternate match strategies
Adds support for sending auto-overlay-1match and auto-overlay-best-match
in addition to auto-overlay-exact to Vandelay when performing the
import. If no strategy is chosen, the script still defaults to
auto-overlay-exact.
These changes are managed with 3 new command line options:
Remington Steed [Wed, 6 Aug 2014 12:47:40 +0000 (08:47 -0400)]
Docs: Fix patron registration screenshot
The previously committed screenshot contains site-specific information
which is not broadly beneficial. This commit replaces it with a more
generic screenshot.
Remington Steed [Tue, 5 Aug 2014 15:23:20 +0000 (11:23 -0400)]
Docs: Update commands for authority importing script
The tools used for importing authority records from the command line have
been modified since the original docs were written. Testing revealed these
changes, which are reflected in this commit.
Mike Rylander [Fri, 20 Jun 2014 13:29:56 +0000 (09:29 -0400)]
LP#1322285: Exclude default values for fixed fields when ingesting
Default values for fixed fields that can exist in either 008 or 006
will cause search to be over-broad. So, we avoid including those now.
I also took the time to move the baseline schema around a bit in order
to keep related code in more appropriate files and avoid continuously
redefining functions.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Bill Erickson [Tue, 8 Oct 2013 19:52:12 +0000 (15:52 -0400)]
LP#1348731: Optional Auth login nonce to differentiate same-username logins
If multiple login attempts are made using the same username within a
very short period of time, a race condition exists where, upon
completion of the first login, the auth init cache data for any pending
logins are removed, since there can only be one instance of cached init
data per username.
This adds support for allowing the caller to pass in a random string
which is added to the cache key as a way to differentiate between logins
using the same username.
The seed is passed into auth init as an optional secondary parameter
and passed again (via the "nonce" argument) to auth complete to ensure
consistent cache keys across both interactions.
Example:
my $nonce = rand($$);
my $seed = request(
'open-ils.auth',
'open-ils.auth.authenticate.init', $username, $nonce );
In cases where there is no hold on a precat copy, avoid trying to find
"related" holds, in part because it's unnecessary, but also because the
implementation assumes a fleshed $self->volume object, which is not
present during precat checkout.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Dan Pearl [Mon, 4 Nov 2013 19:18:20 +0000 (14:18 -0500)]
LP#1099979 Provide facility to merge parts in the Monograph Parts display
A new facility is provided to make it relatively simple to merge parts that should be named the same, but are
not. The user will check-off the parts that need to be merged, and click on the new Merge Selected Parts
control, at which point the "winner" will be selected from a pop-up.
Signed-off-by: Dan Pearl <dpearl@cwmars.org> Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Mike Rylander [Tue, 8 Jul 2014 15:11:54 +0000 (11:11 -0400)]
LP#1339118: Ignore permission checks for "jump" context
We don't worry about checking permissions on foreign objects when we're
simply using them to get a context OU for the local object permission
testing. The "jump" field just gives us more layers of indirection, and
shouldn't cause a perm check, just like normal foreign context OUs.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
make_release supports a "-j" option for passing in the OpenSRF JS path:
make_release [options] -j /openils/lib/javascript
This is useful when running make_release, specifically the staff client
building portion, on a machine where the OpenSRF libs are available
(say, from a git checkout) but osrf_config is not available because
OpenSRF is not actually installed.
The script will attempt to find osrf_config and the JS path
automatically, so under normal circumstances, -j is not required.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Mike Rylander [Mon, 14 Jul 2014 18:57:38 +0000 (14:57 -0400)]
LP#1341703 Thinko in Batch Edit (hidden by older OpenSRFs)
There's a bug on line 272 of O::A::Cat.pm where we called a non-existent
method named respond_complete on the invocant object. Instead, we need to
call that on the client object (spelled $conn in this method). Batch bib
edit won't work on new OpenSRF's until this is fixed.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Bill Erickson <berick@esilibrary.com>
Jason Stephenson [Fri, 11 Jul 2014 14:57:59 +0000 (10:57 -0400)]
LP#1341013: Remove NameVirtualHost from eg.conf.in for Apache 2.4.
NameVirtualHost does nothing in Apache 2.4 and will be removed in
the next release. We might as well get rid of it now and silence
a warning when starting Apache.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Ben Shum <bshum@biblio.org>
LP1198475: Add a new, optional, Lost and Paid copy status.
Add the Lost and Paid status to config.copy_status.
Add org_unit_settig to control if the copy status is used.
Add checks to O::A::Circ::Money::make_payments to check for LOST
status and org_unit setting and change the copy status to
Lost and Paid as appropriate.
Also add checks for Lost and Paid copy status wherever LOST copy
status is used.
Add the COPY_STATUS_LOST_AND_PAID event.
Add the event to ils_events.xml with id 7026.
Check for the event in circ/util.js in the staff client.
Add pgTAP tests for the existence of the Lost and Paid copy status
and the new org_unit setting to control if it isused.