Author: mcantelon
Date: Mon Apr 2 13:25:24 2012
New Revision: 11339
Log:
Refactored publication status setting and added ability to set description
status id.
Modified:
trunk/lib/task/import/csvImportTask.class.php
Modified: trunk/lib/task/import/csvImportTask.class.php
==============================================================================
--- trunk/lib/task/import/csvImportTask.class.php Mon Apr 2 00:04:10
2012 (r11338)
+++ trunk/lib/task/import/csvImportTask.class.php Mon Apr 2 13:25:24
2012 (r11339)
@@ -61,7 +61,6 @@
'app_defaultPubStatus',
QubitTerm::PUBLICATION_STATUS_PUBLISHED_ID
);
- $defaultStatusTypeId = QubitTerm::STATUS_TYPE_PUBLICATION_ID;
// create note term if it doesn't yet exist
QubitFlatfileImport::createOrFetchTerm(
@@ -71,6 +70,8 @@
// Load taxonomies into variables to avoid use of magic numbers
$termData = QubitFlatfileImport::loadTermsFromTaxonomies(array(
+ QubitTaxonomy::DESCRIPTION_STATUS_ID => 'descriptionStatusTypes',
+ QubitTaxonomy::PUBLICATION_STATUS_ID => 'pubStatusTypes',
QubitTaxonomy::NOTE_TYPE_ID => 'noteTypes',
QubitTaxonomy::RAD_NOTE_ID => 'radNoteTypes',
QubitTaxonomy::RAD_TITLE_NOTE_ID => 'titleNoteTypes',
@@ -94,20 +95,22 @@
/* the status array is a place to put data that should be accessible
from closure logic using the getStatus method */
'status' => array(
- 'options' => $options,
- 'sourceName' => $sourceName,
- 'defaultStatusId' => $defaultStatusId,
- 'defaultStatusTypeId' => $defaultStatusTypeId,
- 'materialTypes' => $termData['materialTypes'],
- 'copyrightStatusTypes' => $termData['copyrightStatusTypes'],
- 'copyrightActTypes' => $termData['copyrightActTypes'],
- 'physicalObjectTypes' => $termData['physicalObjectTypes']
+ 'options' => $options,
+ 'sourceName' => $sourceName,
+ 'defaultStatusId' => $defaultStatusId,
+ 'descriptionStatusTypes' => $termData['descriptionStatusTypes'],
+ 'pubStatusTypes' => $termData['pubStatusTypes'],
+ 'materialTypes' => $termData['materialTypes'],
+ 'copyrightStatusTypes' => $termData['copyrightStatusTypes'],
+ 'copyrightActTypes' => $termData['copyrightActTypes'],
+ 'physicalObjectTypes' => $termData['physicalObjectTypes']
),
/* import columns that map directory to QubitInformationObject
properties */
'standardColumns' => array(
'title',
'identifier',
+ 'status',
'accruals',
'scopeAndContent',
'extentAndMedium',
@@ -209,6 +212,8 @@
'variableColumns' => array(
'legacyId',
'parentId',
+ 'descriptionStatus',
+ 'publicationStatus',
'copyrightStatus',
'copyrightExpires',
'copyrightHolder',
@@ -237,6 +242,7 @@
/* import logic to execute before saving information object */
'preSaveLogic' => function(&$self)
{
+ /*
if (isset($self->rowStatusVars['physicalStorageLocation']))
{
$physLocation =
trim($self->rowStatusVars['physicalStorageLocation']);
@@ -246,12 +252,31 @@
$self->rowStatusVars['physicalObjectLocation'] = $physLocation;
}
}
+ */
- // set to default status
- $self->object->setStatus(array(
- 'statusId' => $self->getStatus('defaultStatusId'),
- 'typeId' => $self->getStatus('defaultStatusTypeId')
- ));
+ // set description status
+ if (isset($self->rowStatusVars['descriptionStatus']))
+ {
+ $statusTermId = array_search(
+ $self->rowStatusVars['descriptionStatus'],
+ $self->status['descriptionStatusTypes']
+ );
+
+ $self->object->descriptionStatusId = $statusTermId;
+ }
+
+ // set publication status
+ if (isset($self->rowStatusVars['publicationStatus']))
+ {
+ $pubStatusTermId = array_search(
+ $self->rowStatusVars['publicationStatus'],
+ $self->status['pubStatusTypes']
+ );
+ } else {
+ $pubStatusTermId = $self->status['defaultStatusId'];
+ }
+
+ $self->object->setPublicationStatus($pubStatusTermId);
if (isset($self->rowStatusVars['parentId']) &&
!$self->rowStatusVars['parentId'])
{
--
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.