*/
require_once 'DB/DataObject.php';
-class Pman_Core_DataObjects_Groups extends DB_DataObject
+class Pman_Core_DataObjects_Core_groups extends DB_DataObject
{
###START_AUTOCODE
/* the code below is auto generated do not remove the above tag */
public $name; // string(64) not_null
public $type; // int(11)
public $leader; // int(11) not_null
-
+ public $is_system; // used by timesheets?
/* the code above is auto generated do not remove the tag below */
###END_AUTOCODE
+
+ function memberTable()
+ {
+ return 'core_group_members';
+ }
+ function rightsTable()
+ {
+ return 'core_group_rights';
+ }
+ function personTable()
+ {
+ $ff = HTML_FlexyFramework::get();
+ return empty($ff->Pman['authTable']) ? 'Person' : $ff->Pman['authTable'];
+ }
+
+
// group types??
+ function applyFilters($q, $au, $roo)
+ {
+ if (!empty($q['query']['name_starts'])) {
+ $v = $this->escape($q['query']['name_starts']);
+ $this->whereAdd("{$this->tableName()}.name like '{$v}%'");
+ }
+ }
function toEventString() {
return $this->name;
function beforeDelete()
{
$x = DB_DataObject::factory($this->tableName());
- $x->query("DELETE FROM group_rights WHERE group_id = {$this->id}");
- $x->query("DELETE FROM group_members WHERE group_id = {$this->id}");
+ $x->query("DELETE FROM {$this->rightsTable()} WHERE group_id = {$this->id}");
+ $x->query("DELETE FROM {$this->membersTable()} WHERE group_id = {$this->id}");
}
/**
* check who is trying to access this. false == access denied..
return true;
}
- $pi = DB_DataObject::factory(empty($ff->Pman['authTable']) ? 'Person' : $ff->Pman['authTable']);
+ $pi = DB_DataObject::factory($this->personTable());
$pi->get($this->leader);
- $p = DB_DataObject::factory('group_members');
+ $p = DB_DataObject::factory($this->membersTable());
$p->group_id = $this->id;
$p->user_id = $this->leader;
//$p->type = 1; //???????
}
+
+ function memberCount()
+ {
+ $gm = DB_Dataobject::factory($this->membersTable());
+ $gm->group_id = $this->id;
+ return $gm->count();
+ }
+
function memberIds()
{
- $gm = DB_Dataobject::factory('group_members');
+ $gm = DB_Dataobject::factory($this->membersTable());
$gm->group_id = $this->id;
return $gm->fetchAll('user_id');
function addMember($person)
{
- $gm = DB_Dataobject::factory('group_members');
+ $gm = DB_Dataobject::factory($this->membersTable());
$gm->group_id = $this->id;
$gm->user_id = $person->id;
if (!$gm->count()) {
return $p->fetchAll($what);
}
+
+
+
function lookup($k,$v = false) {
if ($v === false) {
$v = $k;
return;
}
$g->insert();
- $gr = DB_DataObject::factory('group_rights');
+ $gr = DB_DataObject::factory($this->rightsTable());
$gr->genDefault();
}