X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=DataObjects%2FProjectDirectory.php;h=c8f3fa215f4d7e242abc6a36d5cabd62bf99770c;hb=03e2802a8a2e5fee3ff8f22abc03718fb0de9068;hp=fdf8434d542cae91412ee512b97f48243659b629;hpb=739e94969420ddca738230ea57157c36b7a50e9e;p=Pman.Core diff --git a/DataObjects/ProjectDirectory.php b/DataObjects/ProjectDirectory.php index fdf8434d..c8f3fa21 100644 --- a/DataObjects/ProjectDirectory.php +++ b/DataObjects/ProjectDirectory.php @@ -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'); } /** @@ -85,9 +95,9 @@ class Pman_Core_DataObjects_ProjectDirectory extends DB_DataObject { $c = clone ($this); if (is_array($pr)) { - $c->whereAddIn('project_id', $au, 'int'); + $c->whereAddIn('project_id', $pr, 'int'); } else { - $c->project_id = $au->id; + $c->project_id = $pr->id; } return $c->fetchAll('person_id'); @@ -105,7 +115,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 +124,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, ));