Author: jablko
Date: Mon Oct 25 17:17:32 2010
New Revision: 8492

Log:
Return only related events which have a date, fixes issue 1828

Modified:
   trunk/lib/model/QubitInformationObject.php
   trunk/lib/model/map/ObjectTableMap.php
   trunk/lib/model/map/UserTableMap.php

Modified: trunk/lib/model/QubitInformationObject.php
==============================================================================
--- trunk/lib/model/QubitInformationObject.php  Mon Oct 25 16:34:44 2010        
(r8491)
+++ trunk/lib/model/QubitInformationObject.php  Mon Oct 25 17:17:32 2010        
(r8492)
@@ -502,16 +502,27 @@
     return $this->getActorEvents($options = array('eventTypeId' => 
QubitTerm::CREATION_ID));
   }
 
-  //TODO like getCreationEvents, use the getActorEvents method. Need to find 
out how to pass
-  //the additional '$criteria->add(QubitEvent::DATE_DISPLAY, null, 
Criteria::ISNOTNULL)' as an $option
+  /**
+   * Related events which have a date
+   */
   public function getDates(array $options = array())
   {
     $criteria = new Criteria;
     $criteria->add(QubitEvent::INFORMATION_OBJECT_ID, $this->id);
+
+    $criteria->addMultipleJoin(array(
+      array(QubitEvent::ID, QubitEventI18n::ID),
+      array(QubitEvent::SOURCE_CULTURE, QubitEventI18n::CULTURE)));
+
+    $criteria->add($criteria->getNewCriterion(QubitEvent::END_DATE, null, 
Criteria::ISNOTNULL)
+      ->addOr($criteria->getNewCriterion(QubitEvent::START_DATE, null, 
Criteria::ISNOTNULL))
+      ->addOr($criteria->getNewCriterion(QubitEventI18n::DATE_DISPLAY, null, 
Criteria::ISNOTNULL)));
+
     if (isset($options['type_id']))
     {
       $criteria->add(QubitEvent::TYPE_ID, $options['type_id']);
     }
+
     $criteria->addDescendingOrderByColumn(QubitEvent::START_DATE);
 
     return QubitEvent::get($criteria);

Modified: trunk/lib/model/map/ObjectTableMap.php
==============================================================================
--- trunk/lib/model/map/ObjectTableMap.php      Mon Oct 25 16:34:44 2010        
(r8491)
+++ trunk/lib/model/map/ObjectTableMap.php      Mon Oct 25 17:17:32 2010        
(r8492)
@@ -49,7 +49,6 @@
         */
        public function buildRelations()
        {
-    $this->addRelation('aclPermission', 'aclPermission', 
RelationMap::ONE_TO_MANY, array('id' => 'object_id', ), 'CASCADE', null);
     $this->addRelation('actor', 'actor', RelationMap::ONE_TO_ONE, array('id' 
=> 'id', ), 'CASCADE', null);
     $this->addRelation('digitalObject', 'digitalObject', 
RelationMap::ONE_TO_ONE, array('id' => 'id', ), 'CASCADE', null);
     $this->addRelation('event', 'event', RelationMap::ONE_TO_ONE, array('id' 
=> 'id', ), 'CASCADE', null);
@@ -72,6 +71,7 @@
     $this->addRelation('status', 'status', RelationMap::ONE_TO_MANY, 
array('id' => 'object_id', ), 'CASCADE', null);
     $this->addRelation('taxonomy', 'taxonomy', RelationMap::ONE_TO_ONE, 
array('id' => 'id', ), 'CASCADE', null);
     $this->addRelation('term', 'term', RelationMap::ONE_TO_ONE, array('id' => 
'id', ), 'CASCADE', null);
+    $this->addRelation('aclPermission', 'aclPermission', 
RelationMap::ONE_TO_MANY, array('id' => 'object_id', ), 'CASCADE', null);
        } // buildRelations()
 
 } // ObjectTableMap

Modified: trunk/lib/model/map/UserTableMap.php
==============================================================================
--- trunk/lib/model/map/UserTableMap.php        Mon Oct 25 16:34:44 2010        
(r8491)
+++ trunk/lib/model/map/UserTableMap.php        Mon Oct 25 17:17:32 2010        
(r8492)
@@ -50,10 +50,10 @@
        public function buildRelations()
        {
     $this->addRelation('actor', 'actor', RelationMap::MANY_TO_ONE, array('id' 
=> 'id', ), 'CASCADE', null);
-    $this->addRelation('aclPermission', 'aclPermission', 
RelationMap::ONE_TO_MANY, array('id' => 'user_id', ), 'CASCADE', null);
-    $this->addRelation('aclUserGroup', 'aclUserGroup', 
RelationMap::ONE_TO_MANY, array('id' => 'user_id', ), 'CASCADE', null);
     $this->addRelation('note', 'note', RelationMap::ONE_TO_MANY, array('id' => 
'user_id', ), null, null);
     $this->addRelation('systemEvent', 'systemEvent', RelationMap::ONE_TO_MANY, 
array('id' => 'user_id', ), null, null);
+    $this->addRelation('aclPermission', 'aclPermission', 
RelationMap::ONE_TO_MANY, array('id' => 'user_id', ), 'CASCADE', null);
+    $this->addRelation('aclUserGroup', 'aclUserGroup', 
RelationMap::ONE_TO_MANY, array('id' => 'user_id', ), 'CASCADE', null);
        } // buildRelations()
 
 } // UserTableMap

-- 
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