Author: mcantelon
Date: Fri Jan 13 19:36:39 2012
New Revision: 10673

Log:
Added support for acquisition type column.

Modified:
   trunk/lib/task/csvAccessionImportTask.class.php

Modified: trunk/lib/task/csvAccessionImportTask.class.php
==============================================================================
--- trunk/lib/task/csvAccessionImportTask.class.php     Fri Jan 13 19:17:41 
2012        (r10672)
+++ trunk/lib/task/csvAccessionImportTask.class.php     Fri Jan 13 19:36:39 
2012        (r10673)
@@ -104,7 +104,8 @@
 
     // Load taxonomies into variables to avoid use of magic numbers
     $termData = QubitFlatfileImport::loadTermsFromTaxonomies(array(
-      QubitTaxonomy::ACCESSION_RESOURCE_TYPE_ID => 'resourceTypes',
+      QubitTaxonomy::ACCESSION_ACQUISITION_TYPE_ID => 'acquisitionTypes',
+      QubitTaxonomy::ACCESSION_RESOURCE_TYPE_ID    => 'resourceTypes',
     ));
 
     // Define import
@@ -118,8 +119,9 @@
       /* the status array is a place to put data that should be accessible
          from closure logic using the getStatus method */
       'status' => array(
-        'sourceName'    => $sourceName,
-        'resourceTypes' => $termData['resourceTypes']
+        'sourceName'       => $sourceName,
+        'acquisitionTypes' => $termData['acquisitionTypes'],
+        'resourceTypes'    => $termData['resourceTypes']
       ),
       'columnNames' => fgetcsv($fh, 60000), // 1st row supplies column 
names/order
 //      'defaultStatusId' => $defaultStatusId,
@@ -205,6 +207,33 @@
       }
     ));
 
+    $import->addColumnHandler('ACQUISITION METHOD', function(&$self, $data)
+    {
+      if ($data)
+      {
+        $cvaToQubit = array(
+          'Copy Loan'          => 'Deposit', // is this correct?
+          'Donation'           => 'Gift',
+          'Direct Transfer'    => 'Transfer',
+          'Scheduled Transfer' => 'Transfer'
+        );
+
+        if (isset($cvaToQubit[$data]))
+        {
+          $acquisitionTypeTermName = $cvaToQubit[$data];
+          if (in_array($acquisitionTypeTermName, 
$self->getStatus('acquisitionTypes')))
+          {
+            $termId = array_search($acquisitionTypeTermName, 
$self->getStatus('acquisitionTypes'));
+            $self->object->acquisitionTypeId = $termId;
+          } else {
+            die('Could not find "'. $acquisitionTypeTermName .'" in 
acquisitionTypes array.');
+          }
+        } else {
+          die('Could not find a way to handle ACQUISITION METHOD value "'. 
$data .'".');
+        }
+      }
+    });
+
     $import->addColumnHandler('TYPE', function(&$self, $data)
     {
       if ($data)
@@ -220,8 +249,6 @@
           if (in_array($resourceTypeTermName, 
$self->getStatus('resourceTypes')))
           {
             $termId = array_search($resourceTypeTermName, 
$self->getStatus('resourceTypes'));
-            // lookup material taxonomy ID from materialTypes
-            //$self->rowStatusVars['resourceType'] = $termId;
             $self->object->resourceTypeId = $termId;
           } else {
             die('Could not find "'. $resourceTypeTermName .'" in resourceTypes 
array.');

-- 
You received this message because you are subscribed to the Google Groups 
"Qubit Toolkit Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/qubit-commits?hl=en.

Reply via email to