DataObjects/ProjectDirectory.php
[Pman.Core] / DataObjects / ProjectDirectory.php
index 50c059c..471269a 100644 (file)
@@ -68,12 +68,22 @@ class Pman_Core_DataObjects_ProjectDirectory extends DB_DataObject
      */
     function projects($au)
     {
+        if (empty($au)) {
+            $p = DB_DataObject::Factory('Projects');
+            $p->get('code',  '*PUBLIC');
+            return array($p->id);          
+            
+        } 
         $c = clone ($this);
+        
         if (is_array($au)) {
             $c->whereAddIn('person_id', $au, 'int');
         } else {
             $c->person_id = $au->id;
         }
+        $c->selectAdd();
+        // people may have multiple roles for a project..
+        $c->selectAdd('distinct(project_id) as project_id');
         return $c->fetchAll('project_id');
     }
         /**
@@ -84,11 +94,15 @@ class Pman_Core_DataObjects_ProjectDirectory extends DB_DataObject
     function people($pr)
     {
         $c = clone ($this);
+        echo '<PRE>';print_R($this);exit;
+        $c->autoJoin();
         if (is_array($pr)) {
             $c->whereAddIn('project_id', $pr, 'int');
         } else {
             $c->project_id = $pr->id;
         }
+        $c->selectAdd();
+        $c->selectAdd('person_id');
         return $c->fetchAll('person_id');
         
          
@@ -105,7 +119,7 @@ class Pman_Core_DataObjects_ProjectDirectory extends DB_DataObject
         
         if ($this->id && 
             ($this->project_id == $roo->old->project_id) &&
-            ($this->person_id == $roo->old->person_id) &&
+            ($this->person_id  == $roo->old->person_id) &&
             ($this->company_id == $roo->old->company_id) )
         {
             return true;
@@ -114,7 +128,7 @@ class Pman_Core_DataObjects_ProjectDirectory extends DB_DataObject
         $xx = DB_Dataobject::factory('ProjectDirectory');
         $xx->setFrom(array(
             'project_id' => $this->project_id,
-            'person_id' => $this->person_id,
+            'person_id'  => $this->person_id,
             'company_id' => $this->company_id,
         ));