plugged in PO creation to marc upload process. small bug fixes to upload UI
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 24 Mar 2009 21:11:18 +0000 (21:11 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 24 Mar 2009 21:11:18 +0000 (21:11 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@12660 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Application/Acq/Financials.pm
Open-ILS/src/perlmods/OpenILS/Application/Acq/Picklist.pm
Open-ILS/web/js/ui/default/acq/picklist/upload.js

index 1727b41..f858433 100644 (file)
@@ -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;
 }
 
 
index 899baa7..b090ca7 100644 (file)
@@ -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");
index d272854..8774c8b 100644 (file)
@@ -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;