/**
* Table Definition for core enum - it's used in pulldowns or simple option lists.
*/
-//class_exists('DB_DataObject') ? '' : require_once 'DB/DataObject.php';
-require_once '/../../PDO_DataObject/PDO/DataObject.php';
+class_exists('DB_DataObject') ? '' : require_once 'DB/DataObject.php';
+
class Pman_Core_DataObjects_Core_enum extends DB_DataObject
{
###START_AUTOCODE
if (!empty($q['query']['empty_etype'])) {
$this->whereAdd("core_enum.etype = ''");
}
+
// this should be handled by roo... using '!name[0]' ....
if(!empty($q['!name'])){
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();
$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");
}
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) {
$this->delete();
- $roo->jok('Merged');
+
}