X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=DataObjects%2FCore_enum.php;h=3140cf7a4ea22a47c6e2d3ae1c567becbeac7952;hb=39538dd1c71297fb385a26c1aead204229558d44;hp=56a14a6c8549967ba07125fa19ede1abf36900ff;hpb=2097e9929bef6598f65698987a6c425cc161f299;p=Pman.Core diff --git a/DataObjects/Core_enum.php b/DataObjects/Core_enum.php index 56a14a6c..3140cf7a 100644 --- a/DataObjects/Core_enum.php +++ b/DataObjects/Core_enum.php @@ -27,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'])){ @@ -136,11 +137,25 @@ 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();echo $tn; die; + $tn = $this->tableName(); $x = $this->factory($tn); // check if record exists? if(isset($request['etype']) && !($old->etype == $request['etype'] && $old->name == $request['name'])){ @@ -344,6 +359,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'); @@ -395,7 +411,8 @@ class Pman_Core_DataObjects_Core_enum extends DB_DataObject function merge($merge_to, $roo) { $affects = array(); - + $tn = $this->tableName(); + $x = $this->factory($tn); $all_links = $x->databaseLinks(); foreach($all_links as $tbl => $links) { @@ -429,7 +446,7 @@ class Pman_Core_DataObjects_Core_enum extends DB_DataObject $this->delete(); - $roo->jok('Merged'); + }