my($self, $conn, $auth, $p_order) = @_;
my $e = new_editor(xact=>1, authtoken=>$auth);
return $e->die_event unless $e->checkauth;
+ $p_order->ordering_agency($e->requestor->ws_ou);
+ my $evt = create_purchase_order_impl($e, $p_order);
+ return $evt if $evt;
+ $e->commit;
+ return $p_order->id;
+}
+
+
+sub create_purchase_order_impl {
+ my($e, $p_order) = @_;
$p_order->creator($e->requestor->id);
$p_order->editor($e->requestor->id);
$p_order->owner($e->requestor->id);
$p_order->edit_time('now');
- $p_order->ordering_agency($e->requestor->ws_ou);
+
return $e->die_event unless
$e->allowed('CREATE_PURCHASE_ORDER', $p_order->ordering_agency);
$e->allowed('MANAGE_PROVIDER', $provider->owner, $provider);
$e->create_acq_purchase_order($p_order) or return $e->die_event;
-
- $e->commit;
- return $p_order->id;
+ return undef;
}
use MARC::File::XML;
use MIME::Base64;
use Digest::MD5 qw/md5_hex/;
+use OpenILS::Application::Acq::Financials;
my $U = 'OpenILS::Application::AppUtils';
}
if($create_po) {
- return $e->die_event unless
- $e->allowed('CREATE_PURCHASE_ORDER', $ordering_agency);
- # $purchase_order =
+ $purchase_order = Fieldmapper::acq::purchase_order->new;
+ $purchase_order->provider($provider);
+ $purchase_order->ordering_agency($ordering_agency);
+ my $evt = OpenILS::Application::Acq::Financials::create_purchase_order_impl($e, $purchase_order);
+ return $evt if $evt;
}
$logger->info("acq processing MARC file=$filename");
}
});
} else {
- acqSendUploadForm({});
+ acqSendUploadForm({picklist:null});
}
}
function acqHandlePostUpload(key) {
- openils.Util.hide('acq-pl-upload-progress');
fieldmapper.standardRequest(
['open-ils.acq', 'open-ils.acq.process_upload_records'],
{ async: true,
if(resp.picklist) {
location.href = location.href + '/../view/' + resp.picklist.id();
} else {
- location.href = location.href + '/../../po/view/' + resp.purchase_order.id;
+ location.href = location.href + '/../../po/view/' + resp.purchase_order.id();
}
} else {
dojo.byId('acq-pl-upload-count').innerHTML = resp.count;