X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=DataObjects%2FProjectDirectory.php;h=d2c5733b2945736dcf30535495e05e264327ecfa;hb=9480b120292c4042b39fad88d35c92f627fed3ab;hp=f401b2cb8a7f31abddeea4fdf366e83ff69d36d0;hpb=342d4c3246d5d9c650791c63e075a1bfd242e398;p=Pman.Core diff --git a/DataObjects/ProjectDirectory.php b/DataObjects/ProjectDirectory.php index f401b2cb..d2c5733b 100644 --- a/DataObjects/ProjectDirectory.php +++ b/DataObjects/ProjectDirectory.php @@ -68,23 +68,44 @@ 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('id', $au, 'int'); + $c->whereAddIn('person_id', $au, 'int'); } else { $c->person_id = $au->id; } - return $this->fetchAll('project_id'); + $c->selectAdd(); + // people may have multiple roles for a project.. + $c->selectAdd("distinct({this->tableName()}.project_id) as project_id"); + return $c->fetchAll('project_id'); } /** * project id's for a user. * @param DB_DataObject_Core_Person - who * @return array id's of the project they are a member of.. */ - function projects($au) + function people($pr) { - $this->person_id = $au->id; - return $this->fetchAll('project_id'); + $c = clone ($this); + //echo '
';print_R($this);exit;
+        
+        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');
+        
+         
     }
     
     
@@ -98,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;
@@ -107,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,
         ));