Author: mcantelon
Date: Wed Jan 18 15:37:45 2012
New Revision: 10717
Log:
Added import handling for the 17 received extent units-related fields.
Modified:
trunk/lib/task/import/csvAccessionImportTask.class.php
Modified: trunk/lib/task/import/csvAccessionImportTask.class.php
==============================================================================
--- trunk/lib/task/import/csvAccessionImportTask.class.php Wed Jan 18
13:23:46 2012 (r10716)
+++ trunk/lib/task/import/csvAccessionImportTask.class.php Wed Jan 18
15:37:45 2012 (r10717)
@@ -119,7 +119,7 @@
{
$accessionNumber = $self->rowStatusVars['ACCESSION NUMBER'];
- // look up Qubit ID of accession using keymap
+ // look up Qubit ID of pre-created accession
$statement = $self->sqlQuery(
"SELECT id FROM accession WHERE identifier=?",
$params = array($accessionNumber)
@@ -140,6 +140,13 @@
/* import logic to execute before saving accession */
'preSaveLogic' => function(&$self)
{
+ if ($self->object)
+ {
+ if (isset($self->rowStatusVars['extents']))
+ {
+ $self->object->receivedExtentUnits =
$self->rowStatusVars['extents'];
+ }
+ }
},
/* import logic to save accession */
@@ -153,50 +160,104 @@
}
));
- $import->addColumnHandler('ACQUISITION METHOD', function(&$self, $data)
+ $this->setUpExtentColumnHandling($import);
+
+ $import->addColumnHandler('TYPE', function(&$self, $data)
{
if ($data)
{
$cvaToQubit = array(
- 'Copy Loan' => 'Deposit', // is this correct?
- 'Donation' => 'Gift',
- 'Direct Transfer' => 'Transfer',
- 'Scheduled Transfer' => 'Transfer'
+ 'Private records' => 'Private transfer',
+ 'Public records' => 'Public transfer'
);
if (isset($self->object) && is_object($self->object))
{
$self->object->resourceTypeId = $self->translateNameToTermId(
- 'acquisition type',
+ 'transfer type',
$data,
$cvaToQubit,
- $self->getStatus('acquisitionTypes')
+ $self->getStatus('resourceTypes')
);
}
}
});
- $import->addColumnHandler('TYPE', function(&$self, $data)
+ $import->csv($fh, $skipRows);
+ }
+
+ protected function setUpExtentColumnHandling(&$import)
+ {
+ // map of extent-related column names to their corresponding prefixes
+ $extentColumnsAndPrefixes = array(
+ 'INARCHITECTURALPLAN' => "Plans (count): ",
+ 'INAUDIOCASSETTE' => "Audio Cassettes (count): ",
+ 'INAUDIOREEL' => "Audio Reels (count): ",
+ 'INCOMPACTDISC' => "CDs (count): ",
+ 'INDIGITALPHOTO' => "Digital Photos (count): ",
+ 'INDOCUMENTARYART' => "Doc Art (count): ",
+ 'INDVD' => "DVDs (count): ",
+ 'INFILMREEL' => "Film Reels (count): ",
+ 'INMAP' => "Maps (count): ",
+ 'INMICROFICHE' => "Microfiche (count): ",
+ 'INMICROFILM' => "Microfilm Reels (count): ",
+ 'INNEGATIVE' => "Photo Negs (count): ",
+ 'INOTHER MATERIALS' => "Other Materials (count): ",
+ 'INPHOTOGRAPHICPRINT' => "Photo Prints (count): ",
+ 'INSLIDE' => "Slides (count): ",
+ 'INTEXTUALRECORDS' => "Textual (m): ",
+ 'INVIDEOCASSETTE' => "Video Cassettes (count): "
+ );
+
+ $import->setStatus('extentColumnsAndPrefixes', $extentColumnsAndPrefixes);
+
+ // handling logic for extent columns
+ $extentColumnHandler = function(&$self, $data)
+ {
+ if ($data)
+ {
+ if (strpos($self->status['currentColumn'], 'IN') === 0)
+ {
+ $self->rowStatusVars['extents'] =
(isset($self->rowStatusVars['extents']))
+ ? $self->rowStatusVars['extents']
+ : '';
+
+ $extentColumnsAndPrefixes =
$self->getStatus('extentColumnsAndPrefixes');
+ $self->rowStatusVars['extents'] = $self->appendWithLineBreakIfNeeded(
+ $self->rowStatusVars['extents'],
+ $extentColumnsAndPrefixes[($self->status['currentColumn'])] . $data
+ );
+ }
+ }
+ };
+
+ // add handler for each extent-related column
+ foreach($extentColumnsAndPrefixes as $column => $junk)
+ {
+ $import->addColumnHandler($column, $extentColumnHandler);
+ }
+
+ $import->addColumnHandler('ACQUISITION METHOD', function(&$self, $data)
{
if ($data)
{
$cvaToQubit = array(
- 'Private records' => 'Private transfer',
- 'Public records' => 'Public transfer'
+ 'Copy Loan' => 'Deposit', // is this correct?
+ 'Donation' => 'Gift',
+ 'Direct Transfer' => 'Transfer',
+ 'Scheduled Transfer' => 'Transfer'
);
if (isset($self->object) && is_object($self->object))
{
$self->object->resourceTypeId = $self->translateNameToTermId(
- 'transfer type',
+ 'acquisition type',
$data,
$cvaToQubit,
- $self->getStatus('resourceTypes')
+ $self->getStatus('acquisitionTypes')
);
}
}
});
-
- $import->csv($fh, $skipRows);
}
}
--
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.