Author: david
Date: Mon Oct 10 19:19:01 2011
New Revision: 10008
Log:
Fix code for getting creation dates
Modified:
trunk/apps/qubit/modules/informationobject/actions/fileListAction.class.php
trunk/lib/model/QubitInformationObject.php
Modified:
trunk/apps/qubit/modules/informationobject/actions/fileListAction.class.php
==============================================================================
--- trunk/apps/qubit/modules/informationobject/actions/fileListAction.class.php
Mon Oct 10 17:26:06 2011 (r10007)
+++ trunk/apps/qubit/modules/informationobject/actions/fileListAction.class.php
Mon Oct 10 19:19:01 2011 (r10008)
@@ -72,14 +72,14 @@
{
$parentIsad = new sfIsadPlugin($item->parent);
$isad = new sfIsadPlugin($item);
- $creationEvent = self::getCreationEvent($item);
+ $creationDates = self::getCreationDates($item);
$this->results[$parentIsad->__toString()][] = array(
'resource' => $item,
'referenceCode' => $isad->referenceCode,
'title' => $item->getTitle(array('cultureFallback' => true)),
- 'dates' =>
Qubit::renderDateStartEnd($creationEvent->getDate(array('cultureFallback' =>
true)), $creationEvent->startDate, $creationEvent->endDate),
- 'startDate' => $creationEvent->startDate,
+ 'dates' => (isset($creationDates)) ?
Qubit::renderDateStartEnd($creationDates->getDate(array('cultureFallback' =>
true)), $creationDates->startDate, $creationDates->endDate) : ' ',
+ 'startDate' => (isset($creationDates)) ? $creationDates->startDate
: ' ',
'accessConditions' =>
$item->getAccessConditions(array('cultureFallback' => true)),
'locations' => self::getLocationString($item)
);
@@ -102,23 +102,26 @@
return implode('; ', $locations);
}
- public function getCreationEvent($resource)
+ public function getCreationDates($resource)
{
- if (0 == count($creationEvents = $resource->getCreationEvents()))
+ $creationEvents = $resource->getCreationEvents();
+
+ if (0 == count($creationEvents))
{
- // Creation date will inherit down the hierarchy
- foreach ($resource->getAncestors() as $item)
+ if (isset($resource->parent))
{
- if (0 < count($creationEvents = $item->getCreationEvents()))
- {
- break;
- }
+ return self::getCreationDates($resource->parent);
}
}
-
- if (0 < count($creationEvents))
+ else
{
- return $creationEvents[0];
+ foreach ($creationEvents as $item)
+ {
+ if (null != $item->getDate(array('cultureFallback' => true)) || null
!= $item->startDate)
+ {
+ return $item;
+ }
+ }
}
}
}
Modified: trunk/lib/model/QubitInformationObject.php
==============================================================================
--- trunk/lib/model/QubitInformationObject.php Mon Oct 10 17:26:06 2011
(r10007)
+++ trunk/lib/model/QubitInformationObject.php Mon Oct 10 19:19:01 2011
(r10008)
@@ -500,7 +500,13 @@
public function getCreationEvents()
{
- return $this->getActorEvents($options = array('eventTypeId' =>
QubitTerm::CREATION_ID));
+ $criteria = new Criteria;
+ $criteria->add(QubitEvent::INFORMATION_OBJECT_ID, $this->id);
+ $criteria->add(QubitEvent::TYPE_ID, QubitTerm::CREATION_ID);
+
+ $criteria->addDescendingOrderByColumn(QubitEvent::START_DATE);
+
+ return QubitEvent::get($criteria);
}
/**
--
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.