DataObjects/Core_notify.php
[Pman.Core] / DataObjects / Core_notify.php
index bdf3b76..3b174ed 100644 (file)
@@ -77,6 +77,11 @@ class Pman_Core_DataObjects_Core_notify extends DB_DataObject
         return false;
         
     }
+    function beforeDelete($dependants_array, $roo) {
+        if ($this->delivered()) {
+            $roo->jerr("you can not delete a record of a successfull delivery");
+        }
+    }
     
     
     function act_start($set = false)
@@ -130,7 +135,13 @@ class Pman_Core_DataObjects_Core_notify extends DB_DataObject
             //DB_DAtaObject::DebugLevel(1);
             // then we can build a join..
             $d = DB_DataObject::Factory($q['ontable']);
-            $d->autoJoin();
+            $ji = $d->autoJoin();
+            //echo '<PRE>';print_R($ji);
+            // get cols
+            foreach($ji['join_names'] as $cname=>$fname) {
+                 $this->selectAdd($fname . ' as ontable_id_' . $cname );
+            }
+            
             //$this->selectAdd($d->_query['data_select']); -- this will cause the same dataIndex...
             $this->_join .= "
                 LEFT JOIN {$d->tableName()} ON {$this->tableName()}.onid = {$d->tableName()}.id
@@ -146,11 +157,11 @@ class Pman_Core_DataObjects_Core_notify extends DB_DataObject
             switch ($q['query']['status']) {
                 
                 case 'SUCCESS';
-                    $this->whereAdd("msg_id  != ''");
+                    $this->whereAdd("msgid  != ''");
                     break;
                 case 'FAILED';
                     
-                    $this->whereAdd('msg_id  = '' AND event_id > 0  ');
+                    $this->whereAdd("msgid  = '' AND event_id > 0 AND act_when < NOW()");
                     
                     break;
                 case 'PENDING';