sync
[Pman.Core] / UpdateDatabase.php
index 8bd9086..ee26b73 100644 (file)
@@ -201,6 +201,7 @@ class Pman_Core_UpdateDatabase extends Pman
          
     }
     function output() {
+        echo "\nUpdate Completed SUCCESS\n";
         return '';
     }
      /**
@@ -688,7 +689,8 @@ class Pman_Core_UpdateDatabase extends Pman
     
     function updateDataEnums()
     {
-        
+        HTML_FlexyFramework::get()->generateDataobjectsCache(true);
+
         $enum = DB_DataObject::Factory('core_enum');
         //DB_DAtaObject::debugLevel(1);
         $enum->initEnums(
@@ -815,15 +817,17 @@ class Pman_Core_UpdateDatabase extends Pman
     }
     
     
-    function initEmails($templateDir, $emails)
+    function initEmails($templateDir, $emails, $mapping = false)
     {
+        HTML_FlexyFramework::get()->generateDataobjectsCache(true);
+
         $pg = HTML_FlexyFramework::get()->page;
         foreach($emails as $name=>$data) {
             $cm = DB_DataObject::factory('core_email');
             $update = $cm->get('name', $name);
             $old = clone($cm);
             
-            if (empty($cm->bcc_group)) {
+            if (empty($cm->bcc_group_id)) {
                 if (empty($data['bcc_group'])) {
                     $this->jerr("missing bcc_group for template $name");
                 }
@@ -837,16 +841,37 @@ class Pman_Core_UpdateDatabase extends Pman
                     $this->jerr("bcc_group {$data['bcc_group']} does not have any members");
                 }
                 
-                $cm->bcc_group = $g->id;
+                $cm->bcc_group_id = $g->id;
             }
-            
-            if (empty($cm->test_class)) {
+            // initEmails will always have the latest location of the test class - in theory the user should not be changign the value of this...
+            //if (empty($cm->test_class)) {
                 if (empty($data['test_class'])) {
                     $this->jerr("missing test_class for template $name");
                 }
                 $cm->test_class = $data['test_class'];
+            //}
+            if(isset($cm->to_group_id)) {
+                print_r('isset');
+            }
+            
+            if (
+                !empty($data['to_group']) &&
+                (!isset($cm->to_group_id) || !empty($cm->to_group_id)) 
+            ) {
+                $gp = DB_DataObject::Factory('core_group')->lookup('name',$data['to_group']);
+                
+                if (empty($gp->id)) {
+                    $this->jerr("to_group {$data['to_group']} does not exist when importing template $name");
+                }
+                
+                $cm->to_group_id = $gp->id;
             }
             
+            if(
+                isset($data['active']) && !isset($cm->active)
+            ) {
+                $cm->active = $data['active'];
+            }
             
             require_once $cm->test_class . '.php';
             
@@ -858,14 +883,9 @@ class Pman_Core_UpdateDatabase extends Pman
                 $got_it = false;
                 
             }
-
             if (!$got_it) {
                 $this->jerr("template {$name} does not have a test method {$clsname}::test_{$name}");
             }
-            
-            print_r($got_it);exit;
-            
-            
             if ($update) {
                 $cm->update($old);
                 echo "email: {$name} - checked\n";
@@ -888,7 +908,8 @@ class Pman_Core_UpdateDatabase extends Pman
             }
             require_once 'Pman/Core/Import/Core_email.php';
             $x = new Pman_Core_Import_Core_email();
-            $x->updateOrCreateEmail('', $opts, $cm);
+            
+            $x->updateOrCreateEmail('', $opts, $cm, $mapping);
             
             echo "email: {$name} - CREATED\n";
         }