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.