DataObjects/core.sql
[Pman.Core] / DataObjects / Core_enum.php
index 4e4000a..55664d9 100644 (file)
@@ -27,6 +27,9 @@ class Pman_Core_DataObjects_Core_enum extends DB_DataObject
         if (!empty($q['query']['empty_etype'])) {
             $this->whereAdd("etype = ''");
         }
+        
+        
+        
     }
     
     function onUpdate($old, $req)
@@ -125,13 +128,14 @@ class Pman_Core_DataObjects_Core_enum extends DB_DataObject
         //
         return array(
             array(
-                'name' => 'company_type',
+                'etype' => '',
+                'name' => 'COMPTYPE',
                 'display_name' =>  'Company Types',
                 'cn' => array(
                     array(
-                            'name' => 'OWNER',
-                            'display_name' => 'Owner',
-                            'seqid' => 999, // last...
+                        'name' => 'OWNER',
+                        'display_name' => 'Owner',
+                        'seqid' => 999, // last...
                     )
                     
                 )
@@ -144,21 +148,39 @@ class Pman_Core_DataObjects_Core_enum extends DB_DataObject
     
     function initEnums($data = false, $base = array())
     {
+        
         if ($data === false) {
             $this->initEnums($this->baseEnums());
             return;
         }
+        $seq_id = 0;
+        if (!empty($base['etype'])) {
+            $seq_id = 1;
+            $t = DB_DAtaObject::Factory('core_enum');
+            $t->etype = $base['etype'];
+            $t->selectAdD();
+            $t->selectAdD('max(seqid) as seqid');
+            if ($t->find(true)) {
+                $seq_id = $t->seqid+1;
+            }
+        }
         foreach($data as $row) {
             $t = DB_DAtaObject::Factory('core_enum');
+            
             $t->setFrom($row);
             $t->setFrom($base);
+            
             if (!$t->find(true)) {
+                if (!empty($base['etype']) && empty($row['seqid'])) {
+                    $t->seqid = $seq_id;
+                    $seq_id++;
+                }
                 $t->insert();
             }
             if (!empty($row['cn'])) {
-                $this->initEnums($row['cn'], array('etype', $this->name)
+                $this->initEnums($row['cn'], array('etype' => $t->name));
             }
-        
+        }
         
     }