<?php
/**
* Table Definition for ProjectDirectory
+ *
+ * Note - projectdirectory is linked to this - due to an issue with postgres - we should keep to lowercase names only for tables..
+ *
*/
-require_once 'DB/DataObject.php';
+class_exists('DB_DataObject') ? '' : require_once 'DB/DataObject.php';
class Pman_Core_DataObjects_ProjectDirectory extends DB_DataObject
{
function person()
{
- $p = DB_DataObject::factory('Person');
+ $p = DB_DataObject::factory('core_person');
$p->get($this->person_id);
return $p;
}
$p = $this->person();
// this is weird... company is in the person.. - effieciency??
// for seaching??
- $c = DB_DataObject::factory('Companies');
+ $c = DB_DataObject::factory('core_company');
$c->get($this->company_id);
- $pr = DB_DataObject::factory('Projects');
+ $pr = DB_DataObject::factory('core_project');
$pr->get($this->project_id);
return $pr->code . ' '. $p->name . '('. $c->name .')';
function projects($au)
{
if (empty($au)) {
- $p = DB_DataObject::Factory('Projects');
+ $p = DB_DataObject::Factory('core_project');
$p->get('code', '*PUBLIC');
return array($p->id);
}
$c->selectAdd();
// people may have multiple roles for a project..
- $c->selectAdd('distinct(project_id) as project_id');
+ $c->selectAdd("distinct({$this->tableName()}.project_id) as project_id");
return $c->fetchAll('project_id');
}
/**
{
$c = clone ($this);
//echo '<PRE>';print_R($this);exit;
- $c->autoJoin();
+
if (is_array($pr)) {
- $c->whereAddIn('project_id', $pr, 'int');
+ $c->whereAddIn("{$this->tableName()}.project_id", $pr, 'int');
} else {
$c->project_id = $pr->id;
}
$c->selectAdd();
- $c->selectAdd('person_id');
+ $c->selectAdd("{$this->tableName()}.person_id as person_id");
return $c->fetchAll('person_id');
}
- $pr = DB_DataObject::factory('Projects');
+ $pr = DB_DataObject::factory('core_project');
$pr->whereAdd("Projects.type IN ('N','X')");
$prjs = $pr->fetchAll('id');
$pd = DB_DataObject::factory('ProjectDirectory');
- $pd->joinAdd(DB_DataObject::factory('Projects'), 'LEFT');
+ $pd->joinAdd(DB_DataObject::factory('core_project'), 'LEFT');
$pd->whereAdd("Projects.type NOT IN ('N','X')");
$pd->person_id = $au->id;