From c6b9c981ee0d7488f290994f956b83d7c09b4021 Mon Sep 17 00:00:00 2001 From: erickson Date: Tue, 24 Mar 2009 21:11:18 +0000 Subject: [PATCH] plugged in PO creation to marc upload process. small bug fixes to upload UI git-svn-id: svn://svn.open-ils.org/ILS/trunk@12660 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../src/perlmods/OpenILS/Application/Acq/Financials.pm | 16 ++++++++++++---- .../src/perlmods/OpenILS/Application/Acq/Picklist.pm | 9 ++++++--- Open-ILS/web/js/ui/default/acq/picklist/upload.js | 5 ++--- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Acq/Financials.pm b/Open-ILS/src/perlmods/OpenILS/Application/Acq/Financials.pm index 1727b41592..f85843396e 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Acq/Financials.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Acq/Financials.pm @@ -546,12 +546,22 @@ sub create_purchase_order { 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); @@ -561,9 +571,7 @@ sub create_purchase_order { $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; } diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Acq/Picklist.pm b/Open-ILS/src/perlmods/OpenILS/Application/Acq/Picklist.pm index 899baa7ea0..b090ca737c 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Acq/Picklist.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Acq/Picklist.pm @@ -16,6 +16,7 @@ use MARC::Batch; use MARC::File::XML; use MIME::Base64; use Digest::MD5 qw/md5_hex/; +use OpenILS::Application::Acq::Financials; my $U = 'OpenILS::Application::AppUtils'; @@ -577,9 +578,11 @@ sub upload_records { } 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"); diff --git a/Open-ILS/web/js/ui/default/acq/picklist/upload.js b/Open-ILS/web/js/ui/default/acq/picklist/upload.js index d272854280..8774c8bc14 100644 --- a/Open-ILS/web/js/ui/default/acq/picklist/upload.js +++ b/Open-ILS/web/js/ui/default/acq/picklist/upload.js @@ -69,7 +69,7 @@ function acqUploadRecords() { } }); } else { - acqSendUploadForm({}); + acqSendUploadForm({picklist:null}); } } @@ -92,7 +92,6 @@ function acqSendUploadForm(args) { function acqHandlePostUpload(key) { - openils.Util.hide('acq-pl-upload-progress'); fieldmapper.standardRequest( ['open-ils.acq', 'open-ils.acq.process_upload_records'], { async: true, @@ -103,7 +102,7 @@ function acqHandlePostUpload(key) { 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; -- 2.11.0