X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=DataObjects%2FCore_enum.php;h=f6092018dc51aee6ae500049b65c7db9def71e21;hb=1524f8b36295809a3eedd6da3c6494f8aa0d86f5;hp=69dc2f02c2b721ff0308170951a8614fb827d7c6;hpb=5699485784c4a97e968d5dfa4da1fc336e76ff35;p=Pman.Core diff --git a/DataObjects/Core_enum.php b/DataObjects/Core_enum.php index 69dc2f02..f6092018 100644 --- a/DataObjects/Core_enum.php +++ b/DataObjects/Core_enum.php @@ -8,7 +8,6 @@ class Pman_Core_DataObjects_Core_enum extends DB_DataObject { ###START_AUTOCODE /* the code below is auto generated do not remove the above tag */ - public $__table = 'core_enum'; // table name public $id; // int(11) not_null primary_key auto_increment public $etype; // string(32) not_null @@ -28,6 +27,7 @@ class Pman_Core_DataObjects_Core_enum extends DB_DataObject if (!empty($q['query']['empty_etype'])) { $this->whereAdd("core_enum.etype = ''"); } + // this should be handled by roo... using '!name[0]' .... if(!empty($q['!name'])){ @@ -137,8 +137,22 @@ class Pman_Core_DataObjects_Core_enum extends DB_DataObject function beforeUpdate($old, $request,$roo) { + + /* multiple id merge */ if(!empty($request['_merge_id'])){ - $this->merge($request['_merge_id'], $roo); + if(!empty($request['_ids'])){ + //DB_DataObject::DebugLevel(1); + $ce = DB_DataObject::factory('core_enum'); + $ce->whereAddIn("id", explode(",", $request['_ids']), "int"); + + foreach($ce->fetchAll() as $mergeItem){ + + $mergeItem->merge($request['_merge_id'], $roo); + } + } else { + $this->merge($request['_merge_id'], $roo); + } + $roo->jok('Merged'); } $tn = $this->tableName(); @@ -298,6 +312,15 @@ class Pman_Core_DataObjects_Core_enum extends DB_DataObject return $x->fetchAll($fetchArg1, $fetchArg2, $fetchArg3); } + function fetchAllByTypeOrderDisplay($etype, $fetchArg1=false, $fetchArg2=false, $fetchArg3=false) + { + $x = DB_DataObject::factory('core_enum'); + $x->etype = $etype; + $x->active = 1; + $x->orderBy('display_name ASC'); + return $x->fetchAll($fetchArg1, $fetchArg2, $fetchArg3); + } + function lookupObject($etype,$name, $create= false) { @@ -345,6 +368,7 @@ class Pman_Core_DataObjects_Core_enum extends DB_DataObject $seq_id = $t->seqid+1; } } + foreach($data as $row) { $t = DB_DAtaObject::Factory('core_enum'); @@ -353,7 +377,7 @@ class Pman_Core_DataObjects_Core_enum extends DB_DataObject $t->name = isset($row['name']) ? $row['name'] : ''; - if (empty($t->name)) { + if (empty($t->name) && $t->name != 0) { print_R($data); die("ERROR: invalid name used for core_enum\n\n"); } @@ -396,8 +420,9 @@ class Pman_Core_DataObjects_Core_enum extends DB_DataObject function merge($merge_to, $roo) { $affects = array(); - - $all_links = $GLOBALS['_DB_DATAOBJECT']['LINKS'][$this->_database]; + $tn = $this->tableName(); + $x = $this->factory($tn); + $all_links = $x->databaseLinks(); foreach($all_links as $tbl => $links) { foreach($links as $col => $totbl_col) { @@ -430,7 +455,7 @@ class Pman_Core_DataObjects_Core_enum extends DB_DataObject $this->delete(); - $roo->jok('Merged'); + }