Fixes problems that can occur when creating a lineitem
from an existing bib in the catalog; adds an authoritative
version of open-ils.acq.lineitem.retrieve.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_0@18566
dcc99617-32d9-48b4-a31d-
7c20da2025e4
__PACKAGE__->register_method(
- method => 'retrieve_lineitem',
- api_name => 'open-ils.acq.lineitem.retrieve',
- signature => {
- desc => 'Retrieves a lineitem',
+ method => 'retrieve_lineitem',
+ api_name => 'open-ils.acq.lineitem.retrieve',
+ authoritative => 1,
+ signature => {
+ desc => 'Retrieves a lineitem',
params => [
{desc => 'Authentication token', type => 'string'},
{desc => 'lineitem ID to retrieve', type => 'number'},
$logger->info("created @li_ids new lineitems for picklist $picklist");
- # new editor, no transaction needed this time
- $e = new_editor("authtoken" => $auth) or return $e->die_event;
+ # new editor, but still using transaction to ensure correct retrieval
+ # in a replicated setup
+ $e = new_editor("authtoken" => $auth, xact => 1) or return $e->die_event;
return $e->die_event unless $e->checkauth;
$conn->respond($RETRIEVERS{"lineitem"}->($e, $_, $opts)) foreach @li_ids;
+ $e->rollback;
$e->disconnect;
undef;
return handler(li);
fieldmapper.standardRequest(
- ['open-ils.acq', 'open-ils.acq.lineitem.retrieve'],
+ ['open-ils.acq', 'open-ils.acq.lineitem.retrieve.authoritative'],
{ async: true,
params: [self.authtoken, liId, {